八位滴滴工程师QCon七场演讲精华大全

出处:二牛网 2017-04-19 12:58
    4月18日消息,全球顶级技术盛会QCon于4月16日-18日在北京举行,滴滴派出了重要技术岗的8位工程师现场发表了7场主题演讲,小编在QCon现场认真仔细听完了这7场演讲,将这支豪华技术军团的内容精华归纳总结出来,分享给大家。

    滴滴出行技术专家 任玉刚
    演讲主题:VirtualAPK

八位滴滴工程师QCon七场演讲精华大全


    VirtualAPK是我们推出的一款Android平台上的插件化方案,通过VirtualAPK,可以让APP无需重新发版即可上线新功能。

    之所以做这件事,是因为传统的开发流程中,APP进行版本迭代的时候,有着严格的时间周期的要求,必须在规定的时间点完成功能开发,也必须在规定的时间点完成渠道投放,这就让APP的版本迭代有了一定的限制,无法做到APP的随时更新,于是我们开发了VirtualAPK,通过VirtualAPK,APP发版将不再有时间点的限制,可以随心所欲地按需更新。

    为了实现这一功能,我们首先将一个APP拆成两个部分,分别为宿主和插件,其中宿主中没有或者只有少量无需更新的逻辑,而所有的业务逻辑代码则位于插件中,每次APP更新的时候,我们只需要更新插件即可。在技术上,通过Android的动态加载机制来加载插件,并完成了对各个版本Android系统的拦截,使得插件的开发和传统的Android开发保持一致,支持插件的代码、资源访问,并支持四大组件。

   滴滴高级软件工程师 刘建辉
   演讲主题:滴滴实时平台架构实践

八位滴滴工程师QCon七场演讲精华大全


    我们构建了一套实时平台,这套管理平台帮助公司业务用户快速进行实时业务开发。实时平台用户无需了解大数据相关组件的使用方式,关注具体的实现细节,借助于平台的能力,就能快速的完成实时应用的开发部署。

    起初,业务人员如果想推出一套实时业务,需要自己完成数据的采集、数据的传输、数据的ETL、数据的消费处理;需要自己处理各种细节,维护整个集群组件;开发门槛高、系统调试难,造成工作开发周期长;同时也造成了公司资源的浪费。

    为了缩短用户的开发周期,我们把数据的采集、数据的清洗和聚合、olap查询、日志检索以服务的方式嵌入到实时平台当中,屏蔽了底层的细节处理,降低开发门槛;同时完善了整个数据链路流量和延迟的监控告警;业务人员无需关注中间数据的处理过程,只需要专注于自身的业务场景开发即可;通过构建数据地图,提高数据的复用,减少资源消耗;同时我们总结了一套流式领域方面的最佳实践,让用户更快、更轻便的完成实时化处理流程。

   滴滴技术专家 杨明川
   演讲主题:全链路压测在滴滴的实践

八位滴滴工程师QCon七场演讲精华大全


    滴滴全链路压测实践的主体思路是,在虚拟国家内,使用虚拟乘客/司机在完整的线上环境完成交易流程。

    我们需要解决三大问题,包括虚拟数据构造:虚拟乘客/司机,虚拟场景,虚拟App;流量标记:http/thrift协议, mysql/codis/rockstable协议;存储隔离/清理:持久化存储,缓存。

    关于虚拟数据构造的关键点是虚拟乘客/司机:  基础信息复制,ID编码偏移;虚拟场景:地图信息复制,经纬度/城市ID偏移,真实国家的完全虚拟;虚拟App:完全的程序模拟,构造成千上万司机;

    流量标记的关键则是:搭建trace通道,建设trace标识;分协议处理trace传递;

    存储隔离/清理的关键是:持久化存储:影子表/影子TOPIC/影子KEY;缓存:过期时间控制。

    滴滴出行质量部架构师 叶杰
    演讲主题:全链路压测工具端介绍

八位滴滴工程师QCon七场演讲精华大全


   为了检测线上的抗压能力,我们模拟了海量的“机器人”,他们具有类似实际用户的位置分布、行为,如发单、取消单、接单、完成订单、支付等,在虚拟的中国形成一个生态,宏观产出了接近线上真实比例的压测流量。
 
   在这一模拟过程中,核心技术亮点包括:动态可配置的状态机控制机器人的行为;根据线上流量信息控制各行为的比例配比;根据历史订单信息控制各机器人的发单位置;两级扩容及多ip绑定支撑了海量的机器人长连接。

    滴滴质量部架构师 邢沛
    演讲主题:异构系统链路追踪

八位滴滴工程师QCon七场演讲精华大全


   我讲的主题是异构系统链路追踪(trace)在滴滴的实践经验。滴滴一直在做后端系统服务化改造,服务化改造给系统带来各种好处,同时系统本身复杂性也在提高,跨进程调用增多,端到端的交互变的复杂,调用栈涉及的模块越来越多。

    另外,我们追查和回溯badcase的难度也随之增加,而问题的定位也会强依赖日志记录的内容和质量。在这样的背景下我们实践了业务日志规范化和trace机制引入的工作,并进一步使得业务系统具有日志检索能力、链路追踪能力和通用信息透传能力。具体我们做了以下三件事情:

    1、日志规范化:我们配套了多语言日志组件,打印内容符合标准的业务日志。 配套规范化业务日志搭建流式处理和存储、检索系统。

    2、将trace机制落地:在一个核心模块日升级量几百的子系统,一个多语言、异构框架、缺少RPC中间件的复杂系统。将trace机制在复杂环境落地,进而如何提供一种有效的问题定位方法。

    3、数据应用:在规范日志和trace机制的基础上, 提供调用链跟踪,场景还原,专项分析等服务协助定位线上badcase。同时也借助信息透传通道,完成重要的业务和系统功能。

   滴滴技术专家 张禾
   演讲主题:基于Docker的云端⾼效研发之旅

八位滴滴工程师QCon七场演讲精华大全


    研发云是基于Docker的云服务,服务于开发和测试人员。

    首先,对于研发团队而言,服务端开发和测试环境搭建困难是常见的痛点。伴随着微服务架构的逐渐流行,这个痛点会愈发的明显。

    通过研发云,我们为各个团队了提供标准、可一键部署的服务端环境,使得:
    1. 服务端环境的构成一目了然,易于管理和演进,不再是难以维护的黑盒状态;
    2. 极大的降低了服务端环境的搭建门槛,可以自助的获得环境,不必了解细节;
    3. 极大的缩短了服务端环境的准备时间,典型情况下能从天级别下降到分钟级;
    4. 有效的提高了服务端环境的一致性,可以避免很多由于环境差异导致的问题。

    此外,伴随着各种自动化验证手段的不断丰富,其运行效率也成为不少团队的痛点。

    通过研发云,我们提供了以云测为代表的服务。通过智能分组、快速复制以及并行执行等手段,极大的提升了自动化测试的运行速度,为业务功能的快速迭代保驾护航。

    滴滴新业务四部高级专家工程师 蔡啸
   演讲主题:大规模路径引擎集群的架构演化

八位滴滴工程师QCon七场演讲精华大全


    滴滴的业务初期主要使用第三方的路线服务来满足最基本的业务需求,但是随着业务的发展,对于路线服务的请求量越来越大,性能要求越来越高,第三方服务已经无法满足滴滴核心业务的需求。

   为此我们结合自身的业务场景自建了路线服务来满足我们核心场景的高并发,低延时需求。我们主要通过优化算法,简化模型的方法来对核心系统的性能进行了大幅的优化。

    同时设计了一套多层的架构,使得业务流量无需感知访问的具体服务,从而实现了业务流量的无缝迁移。通过建设业务限流系统,实现了各方业务流量之间的软隔离,从而确保了基础服务的稳定性。

   滴滴资深开发工程师 梁秦楠
   演讲主题:数据驱动安全——滴滴安全基础数据建设

八位滴滴工程师QCon七场演讲精华大全


    数据是安全的基础。我们从无到有启动滴滴安全的基础数据建设。实现了滴滴安全的数据的汇聚与管理,并提供一些基于数据的安全应用。

   对于安全这个数据要求很高的场景,无论是数据规模,数据质量,数据安全还是数据门类的复杂度来说,我们都面临到非常多的挑战。

    目前我们基于大数据的数据处理架构,每日完成海量数据的汇聚。通过对特定场景进行数据的建模,并结合安全的应用场景进行有效的数据组织,提升数据建设效率与使用效率。另外我们还从流和批量进行数据质检,结合质量问题引入的原因,多环节有效把控数据的质量。最后我们对于最敏感的数据,也会结合特定场景通过从机器安全,存储安全,传输安全,人员操作审计等多纬度进行数据安全管控。

    本届QCon大会由来自海外的Google、Facebook、Airbnb、LinkedIn及国内的百度、阿里巴巴、腾讯、滴滴出行等公司的100余位技术专家,就专业领域的前沿技术进行了精彩演讲,全方位解读业界最新趋势。