【SDCC 2016现场】互联网应用架构实战专场实录
【SDCC 现场报道】2016年8月12日-13日,由****重磅打造的互联网应用架构实战峰会、运维技术与实战峰会在成都隆重举行。这两场峰会大牛讲师来自阿里、腾讯、百度、京东、小米、乐视、聚美优品、YY互娱、华为、360等知名互联网公司,共同探讨高可用/高并发/高性能系统架构设计、电商架构、分布式架构、运维工具研发与实践、运维自动化系统的构建、DevOps、云上的运维案例分析、虚拟化技术、应用性能检测与管理、游戏行业的运维实践等内容,以及「构建更安全、更高性能、更稳定的架构和运维体系」等领域的话题与技术。
SDCC 2016架构&运维峰会(成都站)Slides全下载
在第一天的互联网应用架构实战峰会上,由来自京东、百度、华为、腾讯、360、当当网、乐视的资深专家分享了各自在互联网应用架构领域上丰富的实战经验。
上午9:00,互联网应用架构实战峰会在京东成都研究院智能通讯部资深架构师胡峰的主持下正式开始。在他的引导下,与会者一同简单回顾了SDCC往届大会及峰会的精彩历程,并对本次会议主题及内容专家做了介绍。
随后,由我们**** &《程序员》总编孟迎霞致辞,她首先向各位远道而来的参会者致以诚挚的欢迎,随后简单介绍了****的发展历程,她表示****一直致力于打造开发者交流分享的平台,我们希望通过各种线上线下的服务,为开发者的成长发展提供支持。在SDCC成都站峰会之后,今年11月我们也将迎来SDCC年度大会,欢迎大家继续关注。
京东成都研究院智能通讯部资深架构师 胡峰:京东咚咚微服务架构从理论认识到实践落地
京东成都研究院智能通讯部资深架构师胡峰在本次架构峰会上带来的是《京东咚咚微服务架构从理论认识到实践落地》主题分享,他结合京东IM软件咚咚五年来四个阶段架构变迁的发展实践,主要从微服务理论认识、咚咚面向业务架构、咚咚面向平台架构和实践微服务的一些疑问和思考四个方面进行阐述,分享其中一些思考、经验和教训。此外,他还指出了京东从面向业务架构到面向平台的微服务架构的升级转变。
最后,胡峰总结了京东咚咚微服务的架构原则:
-
契约化开发
- 契约变更通知
- 考虑消费方
-
自动化文化
- 代码模板生成
- 编译、测试、部署
- 日志收集
- 告警处理
-
反脆弱性
- 错误隔离
- 超时管理
- 断路器
- 隔离仓
- 独立部署
- 高度可监控
百度资深工程师 胡志广:支撑百亿级流量PHP引擎HHVM在百度的架构实战
百度资深工程师胡志广分享了《支撑百亿级流量PHP引擎HHVM在百度的架构实战》的主题演讲,主要从百度为什么用HHVM、HHVM in baidu、HHVM vs PHP7这三个方面进行分享,分别阐述前期百度的调研选型、HHVM相关问题分析、PHP7的优化、HHVM和PHP7的差异点和优缺点,和HHVM原理和对于目前HHVM和PHP7选型困惑建议。深度解析开源和HHVM原理上的百度。
同时,他还介绍了HHVM的迁移方案:
在进行HHVM线上问题分析的过程中,胡志广将线上问题分为可复现和不可复现两类,如下:
-
可复现
- cpu:gperftool
- mem:jemalloc
- 耗时:strace、xhprof
-
不可复现
- 监控分析
- Tcp copy先下分析
- 线上profiling(风险大)
华为PaaS平台架构师 李林峰:基于微服务架构改造单体架构的实践总结
华为PaaS平台架构师李林峰在本次演讲中呈现的分享主题是《基于微服务架构改造单体架构的实践总结》。他主要以微服务的生命周期全过程为切入点,通过传统单体架构的弊端、服务化架构的演进历史、微服务架构的实施、最佳实践四个部分展开,阐述微服务架构的改造如何实施,以及如何避开各种陷阱,提升实施效率。深度分享如何将传统应用架构迁移到微服务架构上、微服务架构和微服务改造的相关经验。
他在演讲中介绍了服务化架构的演进历史:为了解决传统单体架构面临的挑战,先后演进出了SOA服务化架构、RPC框架、分布式服务框架,最后就是当今非常流行的微服务架构。
同时,他在列举错误开发原则之外,还提供了微服务开发原则的建议:
- 接口优先
- 就接口的兼容性做约束
- 契约驱动测试,实现服务提供者和消费者解耦
- IDL,代码骨架自动生成
此外,在分析微服务最佳实践的过程中,李林峰谈及事物一致性的要求:大部分是最终一致性,极少部分需要强一致性。而对应策略是:
- 最终一致性,消息中间件
- 强一致性,TCC
腾讯互娱事业部后台高级工程师 陶文质:分布式系统游戏应用的后台架构设计
腾讯互娱事业部后台高级工程师陶文质在本次演讲中带来《分布式系统游戏应用的后台架构设计》的主题分享,涉及传统架构的局限、分布式设计、应用场景三部分内容,他从游戏实际需求出发,、通过游戏后台传统架构的痛点来分析为什么分布式会是比较好的选择,以及如何实现分布式的问题。他采取面向服务的思维,对游戏中的分布式系统进行定义、拆分,并介绍各模块的实现方法:哪些有业界成熟的方法;哪些定制和二次开发。
其中,他重点阐述了分布式设计的相关内容,同时他强调分布式设计中的Simple Transaction不同于分布式事务。
基础分布式设计包括:
- 最简模式——两个集群之间的通信
- 协议设计
- 结构设计
而最简模式又包括以下的基本功能:
- 探测
- 保活
- 单向, Request-Reply/Response
- 广播, 路由
- 负载均衡
此外,他还分析了在实际应用场景下,网络接入环节遭遇的问题和做出的调整:
至此,本次峰会上半场在热烈的氛围中暂告一段落,接连超过三个小时的分享并未影响与会者的参与热情,相反,大牛们的精彩分享反而再一次点燃了大家的热情,现场互动气氛一度高涨。
短暂的休息之后,我们迎来了本场架构实战峰会的下半场。下午13:30,互联网应用架构实战峰会在蚂蚁金服高级技术专家于君泽的主持下继续进行来自360、华为、当当网、乐视、小米等资深专家分享在架构中的众多实践经验。
上半场的互动热情延续到了下午,在讲师的积极调动下,大家一扫困顿,全心投入到会议议程当中。一问一答间,碰撞出诸多创造性话题,亮点纷呈,干货不断。
360高级工程师、资深顾问 魏自立:360查杀服务从零到千亿级PV的核心架构变迁
360高级工程师、资深顾问魏自立带来《360查杀服务从零到千亿级PV的核心架构变迁》的主题演讲,主要分享了360在发展过程中的相关经验,介绍了360云查杀服务核心在线引擎的架构变迁过程,经历了从无到有,再到后来每天处理千亿级PV的海量并发网络服务,其间历经7次较大的架构调整和重构。并以此为案例,分析在业务飞速发展、需求不断的情况下,如何在业务需求、架构改造之间进行平衡和小步快跑式架构迭代。
首先,他对比了云查杀和传统杀毒模式二者间的差异,指出传统杀毒软件依赖病毒库下发到本地之后进行病毒查杀,360云查杀系统是将病毒特征送到服务器端做匹配计算。
-
传统杀毒模式
- 查杀时效性严重滞后
-
云查杀
- 海量终端采集样本
- MD5/SHA1
- 黑名单/白名单
- 云端结果优先
- 非白即黑
最后,他解析了历经迭代后的第七代架构Trident:
但与此同时他也表示:“没有完美的架构,只有能解决问题的架构。”
华为分布式与并行实验室架构师 高磊:拨开PaaS云架构迷雾,释放内在力量
最近几年IT界可以说是云雾缭绕,到处都是云计算影子,但大家真的了解云计算的本质吗?对于这个问题,华为分布式与并行实验室架构师高磊带来《拨开PaaS云架构迷雾,释放内在力量》主题分享,他主要从PaaS平台入手,从它的发展历程讲起,以求破除迷信误解,解读看待和建设PaaS的正确姿势,剖析其在企业运用上的利益和风险,并介绍PaaS核心技术,希望借由此次的交流,一同重新认识PaaS,回到源头,回到本质。
在阐述PaaS和分布式系统关系的过程中,他强调:“目前出现了Docker,但是并没有改变Paas依然是分布式系统的本质,Docker只是为应用本身提供了运行时容器。”
高磊将PaaS总结为两类:
侵入性的PaaS,比如GAE,TAE等,用户的程序需要调用Paas API完成工作。这种方式由于没有统一标准,导致应用移植性非常差。但是应用对平台的可控性比较强。
非侵入性的PaaS,由于不依赖Paas API,应用的移植性非常强,或者极少的修改就可以进行移植,对混合云这种场景来说,提供了一种很好的基础,目前来说,这种Paas已经成为主流。
在论述核心实现的环节,他强调配置管理优先,“将组成Paas和业务系统组件的关键能力以及接口元数据描述化并维护其关联关系,是Paas平台治理以及自动化的关键,配置管理比任何时候都要重要。”
小米研发架构师 欧阳辰:过往不念、当下不杂、未来不迎的架构演化
小米研发架构师欧阳辰带来《过往不念、当下不杂、未来不迎的架构演化》主题分享,从高并发系统的典型架构设计、大型软件的演化之路,和如何解耦并保持架构不杂这三方面入手,主要分享了过去10余年,从事高并发互联网搜索,大数据广告平台和移动互联网服务的架构演化的领悟和教训,包括高可用架构的设计原则,解耦技术的应用和思考。如何坚守一种过往不念,当下不杂,未来不迎的架构之法。
演讲之初,他以幽默的口吻指出:“一切抛开业务的架构设计都是耍流氓”,他表示架构是为业务服务的。并介绍了小米广告平台的技术架构及其演进。
此外,他还总结了解耦4大基本原则和技术:
原则
- 先业务,后技术;先逻辑,后物理
- 奥卡姆剃刀:如无必须,勿曾实体
- 正交性:分解出模块无职责的重复
- 稳定性原则:稳定和易变的分解
技术
- 接口
- 消息队列
- 模块化,服务化
- 异步化
乐视boss平台技术部资深软件开发架构师 梁阳鹤:高并发支付系统架构设计与实践
乐视boss平台技术部资深软件开发架构师梁阳鹤本次峰会的演讲主题是《高并发支付系统架构设计与实践》,以支付系统为蓝本,首先从硬件网络拓扑结构出发,到基于JVM内存的配置管理系统,再到分布式缓存系统,最后到分布式数据库,一步步讲解高并发支付系统的架构设计。此外,他还结合乐视集团支付架构改造的经验,分享了一些支付系统在实施过程中的实践细节。
演讲过程中,他首先列举出乐视支付收银台所面临的一系列问题:
- 用户与支付服务器建立快速的通讯网络
- 读各种配置数据
- 读用户绑卡信息
- 对支付订单表的写入
- 支持高并发抢购或秒杀
随后以这些实际问题为引,展开相对应的架构阐述。论及数据配置的问题时,他先介绍了使用本地内存读配置数据的模式,随后他分析了用以应对之前架构缺陷的配置管理系统,该架构模式具有四大特点:
- 配置数据使用xml格式
- 配置数据缓存在内存
- 支持实时更新
- 支持全球化部署
当当网架构部总监 史海峰:电商基础架构之路
当当网架构部总监史海峰带了主题为《电商基础架构之路》的技术分享,他主要从部署架构、运维平台、基础应用系统、应用框架组件四个方面进行分析,指出成熟的技术团队必须关注基础架构建设,持续完善,满足整个技术体系的需要。基础架构建设遵循自底而上,由点及面,拨乱为治的原则,自有一定之规,本次分享将重点介绍当当近年来在基础架构建设方面的经验和教训。
演讲开始后,他首先介绍了基础架构的内涵及建设基础架构的四方面原因:
- 夯实基础,事半功倍
- 隔离业务代码与框架、平台
- 提高系统可控性
- 降低技术债,提高管理效率
在介绍组件——框架——平台的演进过程时,他还介绍了当当网非开源应用框架DDFrame:
最后,史海峰基础架构的发展方向做了三句话总结:
- 用自动代替人工;
- 用小系统驱动打团队;
- 用基础平台支撑上层应用。
在最后一组问答中,本次架构峰会也接近尾声,与会者在此完成彼此的交流切磋,无论是讲师还是听众都收获颇丰,并对明天的运维实战专场表示期待。
相关阅读: