【SDCC ·杭州站】9月23日互联网应用架构实战专场精彩回顾

时间:2024-04-11 10:01:44

【SDCC 现场报道】2016年9月22日-23日,由CSDN重磅打造的大数据核心技术与实战峰会、互联网应用架构实战峰会在杭州隆重举行。这两场峰会大牛讲师来自唯品会、小米、蘑菇街、饿了么、有赞、游族、echo、In、万达、百度、苏宁、蚂蚁金服、京东、网易云、 1药网、 腾讯、美团等知名互联网公司,共同探讨海量数据下的应用监控系统建设、异常检测的算法和实现、大数据基础架构实践、敏捷型数据平台的构建及应用、音频分析的机器学习算法应用等内容,以及高可用/高并发/高性能系统架构、电商架构、分布式架构等话题与技术。

在第二天的运维技术与实战峰会上,来自百度、苏宁、蚂蚁金服、京东、网易云、 1药网、 腾讯、美团、唯品会的众多专家分享了各自在架构领域的众多实践探索。

在会议正式开始之前,由本次会议独家合作伙伴UCloud杭州分公司架构部负责人林超发表致辞,他表示架构设计是一个不断重构迭代的过程,只有通过这个途径才能获得真正意义上的学习。而本次峰会中正包含了数量颇丰的重构实践分享,无疑是一场不容错过的技术盛宴。

【SDCC 2016·杭州站】9月23日互联网应用架构实战专场精彩回顾

UCloud杭州分公司架构部负责人 林超

上午9:00,运维技术与实战峰会在1号店架构部技术总监张立刚的主持下正式开始。首先,他进行了简单的自我介绍:2012年7月加入1号店,架构部-OMS订单管理平台负责人,负责1号店订单、库存、拆单、运费、第三方平台订单等电商核心交易系统。从0开始建立了1号店完善的订单监控、预警、履单体系,致力于构建新一代电子商务核心系统–智能OMS订单管理平台。同时,他还邀请了本场峰会的内容专家对本次会议分议题进行了简要的介绍。简要回顾了昨天的盛会之后,我们迎来了第一位讲师的分享。

【SDCC 2016·杭州站】9月23日互联网应用架构实战专场精彩回顾

1号店架构部技术总监 张立刚

百度网页搜索架构部架构师 郑然:SOFA——可以预测未来的微服务开发框架

百度网页搜索架构部架构师郑然带来了《SOFA——可以预测未来的微服务开发框架》的主题分享,主要涉及SOFA的设计理念、核心技术内幕、经典案例分享三方面内容。在演讲中,他深度剖析了SOFA这一轻量级的面向服务的设计开发之路,以及进程内的微服务设计思想。

【SDCC 2016·杭州站】9月23日互联网应用架构实战专场精彩回顾

百度网页搜索架构部架构师 郑然

首先,郑然以一个百度页面分析服务的真实案例引入本次演讲的主题,分析了一线工程师在各阶段容易遭遇的问题:

开发阶段

  • 编译依赖耦合
  • 运行环境耦合
  • 架构策略耦合

测试阶段

  • 测试环境耦合
  • 不能独立测试

运维阶段

  • 部署方式死板
  • 无法扩展拆分

随后,他介绍了以乐高积木为灵感来源的接口化终极目标——复用。并讲解了SOFA围绕“以不变应万变”宗旨而产生的设计理念:

  • 接口和实现分离

    • 定义接口规范
    • 实现形式多样
  • 支持多种语言

    • 以C++为主语言
    • 支持python和PHP
  • 统一调用方式

    • 进程内和进程间
    • 调用完全一致
  • 组件复用

    • 非常方便的实现组件代
    • 码复用, 提升开发效率

此外,他还以SOFA核心技术为切入点,揭秘其核心技术内幕:

  1. 接口规范
  2. 反射的秘密
  3. 统一调用方式:

【SDCC 2016·杭州站】9月23日互联网应用架构实战专场精彩回顾

  1. 组建仓库

演讲最后,郑然以匠心精神作结,与中架构师共勉。

苏宁云商中台研发中心技术副总监 司孝波:苏宁的库存系统架构演进及架构设计

苏宁云商中台研发中心技术副总监司孝波的演讲围绕《苏宁的库存系统架构演进及架构设计》主题展开,围绕苏宁库存系统由1期到4期的演进过程,结合高并发交易背景下的一些技术实践和库存业务解决方案,深度分析平台库存架构。

【SDCC 2016·杭州站】9月23日互联网应用架构实战专场精彩回顾

苏宁云商中台研发中心技术副总监 司孝波

在展示架构演进的过程中,他指出了各个发展阶段做出的优化以及存在的问题,最新的库存系统4期在原有的基础上,新建了GAIA平台自营库存系统,提供销售端的库存检查、库存锁定、库存解锁,实现了架构上的扩展性、可用性、高性能:

【SDCC 2016·杭州站】9月23日互联网应用架构实战专场精彩回顾

在经验总结的过程中,他从两方面进行分享:

数据一致性

  • 分布式领域CAP理论:
    • Consistency(一致性): 数据一致更新,所有数据变动都是同步的
    • Availability(可用性):好的响应性能,且高可用
    • Partition tolerance(分区容错性):可靠性

定理:任何分布式系统只可同时满足二点,没法三者兼顾。

库存最佳实践:以“实时扣,异步加,避免发生超卖”为原则,对扣减采用实时处理,对数据不一致的情况通过补偿机制来达到数据的“最终一致”。

缓存方面

  • 系统采用“jvm缓存+ehcache+redis”相结合的方式

蚂蚁金服智能BI平台技术架构师 张荣华:互联网网站性能优化

蚂蚁金服智能BI平台技术架构师张荣华带来《互联网网站性能优化》的主题演讲,本次分享结合蚂蚁金服的性能优化实践,着重和大家讨论引发服务器端性能问题和网络性能问题的各种影响因素,以及在这些现象背后的最基本的原理是什么。他将演讲划分为法、道、术三大块内容。

【SDCC 2016·杭州站】9月23日互联网应用架构实战专场精彩回顾

蚂蚁金服智能BI平台技术架构师 张荣华

在介绍网络相关优化的环节,张荣华指出此处的一大常见误区是用户带宽不够,并具体分析了页面加载与带宽和延迟的关系:

【SDCC 2016·杭州站】9月23日互联网应用架构实战专场精彩回顾

  • 带宽增加,页面加载的性能到7Mbps的时候已经没有变化了
  • 延迟的减少,页面加载时间也在不断减少

同时,结合公式:【SDCC 2016·杭州站】9月23日互联网应用架构实战专场精彩回顾,联合大巴车的座位和速度的逻辑关系,提出了充分利用带宽的途径:

  • 保持最佳拥塞窗口

    • 加大初始窗口(4到10,TCP协议层面, 太大的初始窗口可能会一上来就触发拥塞 预防机制)
    • 算法优化,PRR,比例速降
    • TCP快速打开TFO(TCP fast open)
    • 窗口缩放(window scaling, TCP dump之 后发现已经开启了)
    • 应用层面连接重用(各种前端的军规,新 技术如websocket, webrtc)
    • 使用新型应用层协议(HTTP2.0)
  • 降低RTT到理想值

    • CDN
    • ADN
    • 边缘节点动态代理

此外,他还详细分析了CPU Time的决定性因素:

  • 数据结构和算法降低CPU Time的例子

    • 序列化,编解码
    • Hash,均摊
    • 编程模型
    • 压缩算法
    • 模板引擎
  • 架构改进降低CPU Time的例子

    • 缓存(请求链路上各节点都可以有,视场景)
    • 合并请求(循环里有远程调用的)
    • 协议改进
    • 通过设计减少不必要的计算

最后,他针对类死循环的CPU Time改进案例,进行优化分享,得出方案:谁知道,谁清理。

【SDCC 2016·杭州站】9月23日互联网应用架构实战专场精彩回顾

京东商城架构师 杨超:京东交易架构演进-高可用服务的保障

京东商城架构师杨超带来《京东交易架构演进-高可用服务的保障》主题分享,主要涵盖四部分内容:京东商城交易平台的架构、大促中的技术演进、分布式结构思路、高并发、高可用诞生的原因,具体结合京东架构发展历程展开深度解析。

【SDCC 2016·杭州站】9月23日互联网应用架构实战专场精彩回顾

京东商城架构师 杨超

在演讲之初,杨超和大家介绍了京东交易架构,并分析其重构发展进程:

【SDCC 2016·杭州站】9月23日互联网应用架构实战专场精彩回顾

其中,他重点阐述了大促中的技术演进之路:

  • 分布式结构思路,合适时机进行拆分
    • 基础拆分
    • 为支持业务拆分
    • 为支撑大访问量的拆分

【SDCC 2016·杭州站】9月23日互联网应用架构实战专场精彩回顾

  • 高并发、高可用的诞生
    • 水平扩充能力
    • 时间换空间,空间换时间
    • 核心数据的保护

伴随着新一轮热烈的互动环节,本场峰会上半场正式结束。然而,大家的讨论热情却在台下延续,问答切磋,交流未歇。

下午13:30,架构专场在主持人张立刚的主持下继续进行,来自网易云、1药网、腾讯、美团、唯品会等资深专家分享了各自在架构领域中的实战经验。

网易云云计算架构师 尧飘海:网易蜂巢云平台优化实践

网易云云计算架构师尧飘海带来了《网易蜂巢云平台优化实践》的主题分享,以蜂巢平台整体架构所经历的一系列优化演变为实际案例,立足系统介绍、技术架构、优化实战、面临挑战四个支点,主要分享云服务构架的平台建设和系统优化实践。

【SDCC 2016·杭州站】9月23日互联网应用架构实战专场精彩回顾

网易云云计算架构师 尧飘海

在正式开始分点详述之前,他先以时间轴的方式简要呈现了蜂巢云平台的研发历程,并介绍了其核心技术:

  • 容器:资源交付的最小单位

    • Docker
  • 容器编排:实现容器集群发布、回滚、迁移、扩容、缩容等

    • Kubernetes
  • 基础设施:提供容器运行所需计算/存储/网络资源

    • 虚拟化技术:KVM、OpenVSwtich、Ceph
    • OpenStack

随后,尧飘海详细讲解了经过多次迭代发展得出的平台技术架构:

【SDCC 2016·杭州站】9月23日互联网应用架构实战专场精彩回顾

在优化实战分享阶段,他还介绍了Kubenetes容器的编排调度:

  • 按可用域多层调度
  • 将节点、存储、网络等集群共享资源的租户隔离
  • 不停服发布,支持原子更新及滚动更新的基础设施的不可变交付
  • 多优先级队列并行处理

1药网B2C技术部技术总监 秦曲波:电商APP客户端Hybrid架构实践

1药网B2C技术部技术总监秦曲波在本次峰会带来的演讲主题是《电商APP客户端Hybrid架构实践》,1药网架构历经多次重构,引入Hybrid开发模式,这也是诸多电商互联网公司所采用的基本技术框架,演讲内容主要围绕这一点展开,分享这个过程中的架构决策,并讨论如此决策的原因,以及Hybrid模式如何在1药网的实践中一步步推进。结合实际案例,更深入披露Hybrid框架在电商系统中的实践细节。

【SDCC 2016·杭州站】9月23日互联网应用架构实战专场精彩回顾

1药网B2C技术部技术总监 秦曲波

首先,他对比了包括Hybrid APP在内的三种开发模式:

【SDCC 2016·杭州站】9月23日互联网应用架构实战专场精彩回顾

同时,他指出APP并不是一个孤岛,要实现从封闭到开放:

  • Native和内嵌Web页面的互通互联
  • 应用和应用之间的互通互联
  • 线上和线下场景的互通互联

此外,他还分析了URLRouter的实现机制,定义了URL规范。在这一部分分享中,他介绍了Router的实现结构:

【SDCC 2016·杭州站】9月23日互联网应用架构实战专场精彩回顾

  • 落地页面在APP启动的时候注册自己到Router中
  • APP接收到各种触发事件,获取URL,转换成注册的VO对象
    根据VO对象,创建落地页面实例,若是Native的Function,获取注册的回调函数,由该函数调用完成实际功能的类方法
  • Router通知容器完成页面的呈现和加载

最后,他对本次分享内容做了简要的总结,指出在实现框架的过程中,一般会选择相对成熟的做法。对于电商类应用,通常会选择在轻量级开源方案上做出一些改动,不会做出特别大的改动或直接照搬,一般吃透之后才会引入。

腾讯SNG增值产品部高级工程师 翟伟:QQ会员基于Hybrid的高质量H5架构实践

腾讯SNG增值产品部高级工程师翟伟带来主题为《QQ会员基于Hybrid的高质量H5架构实践》的技术分享。任何技术优化都依托于业务的发展,随着QQ会员增值业务的重心转移到手Q移动端,对H5页面不仅要求加载更快,还需承载丰富多彩的运营活动。针对这些要求,本次分享主要介绍QQ会员的前端开发团队在手Q的Hybrid模式下对H5页面的性能优化、组件化和持续集成方面的实践。

【SDCC 2016·杭州站】9月23日互联网应用架构实战专场精彩回顾

腾讯SNG增值产品部高级工程师 翟伟

在分享过程中,他针对QQ会员消费对象年轻、炫耀、特权这三大特性,抛出了三个问题:“如何让H5页面打开更快?如何快速开发H5运营页面?如何保证H5页面频繁发布时的质量?”随后,他从这三个角度切入,展开了相应的分析。

针对第二个问题,翟伟呈现了一个由运营要求出发的思考过程:

【SDCC 2016·杭州站】9月23日互联网应用架构实战专场精彩回顾

同时,他还介绍了ET平台的工作流程:

【SDCC 2016·杭州站】9月23日互联网应用架构实战专场精彩回顾

此外,他列出了性能分析规则:

  • Yahoo军规

    • Yahoo34条军规的移植和再度挖掘
  • 终端环境特性

    • 兼顾移动端屏幕尺寸、网络环境、硬件配置、有限电量、流量费用.
  • H5业务特性

    • 业务首屏加载耗时、数据流量、CGI请求数、域名数等.

最后,他总结指出基于Hybird模式的页面终端深入融合,加载速度快;组件化开发更快捷;智能化流程带来高质量高标准性能。

美团点评基础架构存储团队负责人 朱浩:大众点评数据库访问层的架构设计

美团点评基础架构存储团队负责人朱浩带来《大众点评数据库访问层的架构设计》的主题分享。主要介绍大众点评数据库访问层的架构设计。从为什么需要数据库访问层出发,介绍它的必要性。然后主要侧重从纯技术角度介绍zebra是如何实现读写分离,分库分表以及它的动态特性是如何发挥重要作用的,以及围绕这个访问层的运维体系的建设工作,和大众点评分库分表的一些实战经验。

【SDCC 2016·杭州站】9月23日互联网应用架构实战专场精彩回顾

美团点评基础架构存储团队负责人 朱浩

分享之初,他便设定了一个没有数据库访问层的情境,并分析在此情境下,开发和DBA所要面临的问题,从而验证了构建数据库访问层的重要意义:

开发

  • 连接池的配置太多,容易配错
  • 数据库配置一旦变更,需要重启业务机器
  • 一旦发生故障,不能迅速定位故障原因
  • 一旦发生故障,不能迅速恢复
  • 读写分离对业务有侵入
  • 不支持分库分表

DBA

  • 无法高效迁移数据库
  • 无法动态的调整数据库流量
  • 无法对有问题的SQL进行限制
  • 一旦发生故障,不能迅速发现故障数据库

随后,针对本次分享的主题,他展示了数据库访问层的整体架构:

【SDCC 2016·杭州站】9月23日互联网应用架构实战专场精彩回顾

同时,他还讲解了该架构的主要功能:

  • 统一的源数据配置管理
  • 动态的数据源
  • 支持读写分离和分库分表
  • 统一的监控方案
  • 统一的高可用方案

唯品会应用架构负责人 张广平:唯品会应用系统架构设计

唯品会应用架构负责人张广平在本次峰会中带来了《唯品会应用系统架构设计》主题演讲,介绍唯品会系统基础架构体系,以及唯品会应用系统架构的设计原则和思路,如合理系统逻辑拆分、分层设计、服务化解耦、适度的服务颗粒度划分、系统间通讯增加异步处理,减少同步处理、优化数据库访问、通过统一的数据共享标准、统一框架整合定时任务等,并通过订单和选购线中一些设计实例来说明服务化的设计思想。

【SDCC 2016·杭州站】9月23日互联网应用架构实战专场精彩回顾

唯品会应用架构负责人 张广平

分享过程中,他重点介绍了唯品会的架构设计思路:

架构设计目标

  • 业务驱动
  • 高可用性
  • 高可扩展性和伸缩性
  • 低成本
  • 高性能
  • 安全性

应用架构设计思路

  1. 合理业务逻辑
  2. 服务化解耦,提高系统复用性
  3. 系统间通讯增加异步处理,减少同步处理
  4. 优化数据访问
  5. 统一数据标准,减少数据冗余
  6. 优化移动APP接入,引入服务网关

最后,本次分享以唯品会电商系统应用整体架构图作为小结:

【SDCC 2016·杭州站】9月23日互联网应用架构实战专场精彩回顾

至此,本场互联网应用架构峰会圆满结束,昭示本次SDCC2016杭州站的完美收官。本次峰会的结束只是暂告一段落,会场外,借由本次大会搭建的沟通桥梁,学术思维的交互仍在继续。与会各方在对本次成都站的顺利举办致以祝贺的同时,均对大会的下一站表示期待。