千家论坛_弱电智能化技术与工程讨论(建筑智能,家居智能,人工智能)

物联网技术
收藏本版 (14) |订阅

物联网技术 今日: 3918 |主题: 1294|排名: 15 

发新帖
打印 上一主题 下一主题

Qcon2015北京站见闻录...

[复制链接]
iot10086cn 发布于: 2015-6-30 19:03 87 次浏览 0 位用户参与讨论
跳转到指定楼层
郑军解决方案中心
笔者有幸参加了Qcon2015,在大会上我深刻的感受到互联网大潮的涌动,机会与挑战所带来的冲击。以下是我的个人所见所闻和小小思考,希望能抛砖引玉,引发大家更多的思考和讨论。
大会精彩主题解析
1.异步处理在分布式系统中的优化作用
异步处理的大量应用可以给系统带来更短的业务响应时间,更高的TPS,让系统架构更加正交性、更健壮、更具伸缩性。调用链的捕获和生成是服务调用异步化的基础,通过采用系统监控等技术手段来验证系统进行异步化、增加cache是否合理。分享嘉宾指出,现有的程序语言并没有设计出很好的符合人类思维习惯的异步化编程语法。这点在node.js编程中有大量的体现。协程的可维护性和可读性必定高于现在的异步调用。高质量软件代码的基础必定是可读性。
2.互联网金融
从业务形态来说,现在的互联网金融还主要是对传统银行业主营业务以外的补充和加强,做的是“量”和“效率”的生意。包括以阿里、微信为首的平台级金融平台,以及目前最火热的P2P公司,其平台运营的资金规模成长速度都很快,并在局部对银行业形成了一定的冲击。跟运营商受OTT业务冲击很类似,只是银行现在还主要承担了金融产业链的制定者角色,没有被“管道化”的风险。
从技术架构来说,不管是余额宝,还是区域性银行共享服务中心等,其系统还是构建在“老”的技术栈上的,特别包括使用了大量的商用软件,这些商用软件不仅影响了系统架构,同时也在一定程度限制了研发的技术视野和思维范围。开源软件的使用比较受限,原因包括政策因素、开源软件性能,自有研发团队对开源技术的掌握程度等。
阿里分享“互联网金融系统如何去O——蚂蚁金服金融核心平台经验实践”,其核心主题还是通过去0racle,使得整个支付宝平台的架构更统一,更加分布式化,让研发团队已有的技术积累更好的在平台中释放。同时减少对外部封闭技术的依赖。大公司在开源上做的工作已经远远超过使用了,是在其基础上针对自己的业务场景进行了重构,让开源软件更加适应自己的业务。开源软件的使用是把双刃剑,要用好,核心还是自己的研发团队。
金融行业大数据分析已经有了大量的应用,个人理解为金融行业是信息化较早的行业,在十多年的业务运营中已经积累了大量的高价值数据资源。金融垂直领域的数据公司已经在上述方面做了很多工作,“银行+数据分析公司”的配合或许是银行对抗支付宝、微信的王牌。从技术层面来看,现在银行的大数据分析技术传承了OLAP大量的特性,应该是从联机发展到分布式。对于数据分析平台,如何把Nosql以SQL形式来展现和被外部调用是其能否深入金融垂直行业的关键。不管从技术成熟度和开发人员接受程度来说,SQL都比NOSQL好。
3.可扩展、高可用架构设计
设计HA的架构,需要解决的核心问题就是产品的功能性问题和性能问题。而性能问题也可以看成高并发,大容量情况下的产品功能性问题。从各个嘉宾分享的内容来看,实现HA架构的方法都大同小异。值得注意是HA一定是贴合业务场景的HA,即使是HA的架构也总会遇到系统不可用的场景,整个团队对系统架构的掌握程度,对技术细节的把握程度才是保证系统高可用的核心,架构是团队的产出物。不同阶段,团队对HA的理解和要求也不一样。比较遗憾的是,所有HA的嘉宾都没有提实现HA的成本。个人理解一个具备可扩展、高可用架构应该符合以下特点:
a.与业务场景强相关,每个模块都是为了完成业务而一起协助工作,我们不能企图从功能上解除各个模块在实现业务时的相互依赖,系统的解耦不是打断模块间的联系,而是通过增加“关节”的方法来重新定义模块间的工作方式,使得整个系统更加灵活,更健壮;
b.在产品初期,高性能的硬件比高性能的软件更可靠,团队要学会用硬件换软件的思维方式,并争取在换取的时间内完成对新技术的掌握,再结合高性能硬件实现性能更好,更高可用的系统;
c.系统问题排查、总结,日常数据化运维是支撑系统改进的唯一依据;
d.设计高可用架构不仅仅是架构师的职责,而是整个研发团队,甚至是业务团队共同努力的结果。
参会心得
1.互联网的创业环境越来越好,初创团队的专业能力和所能获取的资源好于之前任何时代,北京还是互联网中心;互联网创业的范围正在扩大;
2.互联网金融,大数据产业是大会两大亮点。金融领域的大数据公司已经在业务上有了很好的实践和较大的突破;行业知识和数学知识的重要性越来越凸显,大数据平台的工程基础是分布式系统,理论基础则是各个细分的数学知识;
3.高可用,高性能的系统架构仍然是大家关注的焦点,这个领域的主角依然是有大用户数的互联网公司,对于我们公司来说,脱离我们的业务发展和产品应用场景谈高可用架构不是件好事。架构演进带来的风险,我们需要好好在日常工作去发现和总结;
4.开发语言。有程序员的地方就有语言之争。现在的趋势是“高”的更高,“低”的越低。c/c++已经深入到系统底层,越是要求性能和硬件打交道的地方,就越有他们的市场。从业务应用开发来说,脚本语言(php/python)和java大有可为。从一个团队来说,掌握3门语言算是标配,每个开发工程师应该至少掌握两门语言。个人觉得用一门语言来实现全栈开发是一种危险的事情,因为其会限制整个团队的视野,无法大量共享开源技术的红利,并在团队内容造成一定的技术歧视,危害甚大,记得警惕。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆 千家通行证登陆

本版积分规则

千家智客微信号
千家智客微信
玩物说商城
玩物说商城