按:滴滴出行在创业初期,为了快速拥抱业务,架构的建设在体系化、完善度等方面会有所不足。随着时间的推移,架构在可持续性、稳定性等方面不断进步。这就是一种迭代思想,长期来看,没有系统是设计出来的、靠迭代演进。

本文来自滴滴出行执行总监赖春《如何构建滴滴出行业务中台》的精彩演讲。从中我们可以了解到滴滴出行构建业务中台的原因及在发展过程中遇到的问题和应对的策略。

构建业务中台的四个原因


2015 年末,滴滴出行在短时间内形成了包括快车、出租车、专车、顺风车、代驾等多业务的垂直化架构。随之,滴滴启动了中台战略整合业务系统。

决定构建业务中台主要出于四方面考虑:专业深度、人力资源、用户体验、全局打通。

专业深度。由于是多业务垂直化的架构,会有多个团队开发同样的架构,这就需要很多的工程师。

每个团队都是用最快速的方式构建流程,所以技术很难做深。这样一来,导致客户端的流畅度不高,后端不稳定,影响可扩展性。

人力资源。从原则上来说把每个团队加到足够的人,每个架构都能有很好的发展。但工程师的薪资都非常高,招聘大量工程师来做同样的架构,研发成本高昂。还有些时候,即使你愿意花钱,也招聘不到合适的人。

用户体验。流畅度、稳定性、扩展性、界面、交易流程等都是影响用户体验的重要因素。

在当时的组织结构和研发情况下,会出现业务的应用场景不同,交易流程却相同的问题,这样很影响用户的体验。

全局打通。所有业务本质都是出行,出行本质具有协同效应。但在各自独立发展情况下,业务间完全没有协同性,在构建中台过程中,我们可以逐步把协同性建立起来。

构建出行业务中台的挑战


构建出行业务中台并不是只有好处,也一定会带来很多问题,最大的问题是软件复杂度。

从业务角度来说,把所有业务合并到一个体系下,本身就是很难的事,再加上滴滴出行是实时性 O2O 业务,场景差异很大,而且作为互联网公司,不仅有很多需求不明确,还会不断持续变化。

这种情况下,想要用一套相对稳定、相对固定的架构去支持所有业务,十分困难。

从组织角度来说,滴滴出行有多个事业部,业务涉及 400 多个城市,组织和个人的变化更快。

针对软件复杂度的挑战,中台制定了最基本的实现目标:在业务多元化发展的组织中,去构建一套工程架构,构建一套组织结构及对应的管理机制,以保证业务可持续的又快又好的发展。

滴滴业务中台的架构实践


在谈具体对策与实践之前,先来看看整个业务中台的架构设计,如下图:

整个的架构设计分几个边界的上下文,好处在于把相关性不强的逻辑拆开,同时在一个相关性下面,通过分层对业务进行更好的建模。

调度层作为入口去牵引多个业务线,业务流程层为调度层做服务,状态智能层用来支持上面的两层。

在对业务和产品进行更好建模的基础上,进行了“五化”:服务化、异步化、配置化、插件化、数据化。

服务化


服务化很常见,以下单为例,如下图:

下单流程能够调用很多服务,在多个层次,以接口层次结果进行拆解。

这里需要提醒的是服务化要注意如下三点:

  • 服务之间的协议和规范要建立好。

  • 注意控制力度,力度太小、太大都会有问题。

  • 随着时间的发展,服务化本身要不断的演进。

异步化


对每个事件的非核心或不需要实时反馈给客户端的逻辑进行拆解,核心的主流程会变简洁。对非核心的逻辑在事件上做订阅之后,进行二级处理。

以结束订单为例,如下图:

结束订单的时候有很多逻辑要做,但是都是通过 MysqlBinlog 处理或 MQ 处理。

配置化


服务化和异步化能解决很多迭代效率的问题,但由于系统、业务的复杂性,各个业务都有些差异,体现在不同的产品线、城市、区域、时间等等。

配置化的核心是对这些进行建模,把每个对象模型化,抽象成 ID,在不同的服务化里把这些可配置的能力进行抽象。

具体抽象过程,如下图:

第一级抽象采用的是类 iptables 的规则引擎判定产品分类,第二级的规则引擎由模块自定义。

所有配置化都是用的自生成平台,要配置什么,自定义配置即可,这个过程是动态进行的。

当前业务中台已经可以支持上千个配置点,比如不同层次的计价规则不一样、不同产品线的车样子不同、不同的场景,如拼车和接送机,管控规则也不一样等等。

插件化


配置化解决的是业务线差异问题,但如遇到逻辑差异较大的情况,就要做插件,统称为 FPI。

在 FPI 的能力上,不同的团队可以开发很多插件,在特定的配置点下,对它的逻辑进行加载。

真正业务流程到这儿,可以调起它对应的插件做出来。对于一些没有差异化需求的业务,可以用开发的 default 逻辑,这是更极端的灵活性的体现。

有灵活性的体现后,团队还可以做一些组织上的调整,原来每个服务或者平台是一个垂直化的架构,有些团队是横向,是 FT,有些 FT 是接送机 FT,专门做接送机的事情。

通过插件的形式在每个系统加载它的插件,它就可以跟着业务思考、跟着产品思考这个业务该怎么走、这个产品怎么演化。

相对的逻辑是更加专注的,这也带来很好的组织结构对中台的适应性。

数据化


在大数据时代,数据是不得不考虑的问题,所以在业务中台,要实现全局打通,本质是要把数据打通。

所以我们制定了离线分析与在线决策的方案,如下图:

第一个是离线做分析,可以做数据血缘、模型训练,同时可以把它放到在线决策层面,构建很好的智能客户引擎和交易引擎,这个可以干预,因为干预可以让升舱或者多业务线的清单成为可能。

因为有这样的决策,使在线服务的管控和判断做得更加智能。

数据化方面,需要注意以下三方面:

  • 让数据更加规范和标准化。

  • 构建完整的数据流,从在线到离线,从日志到模型的在线使用。

  • 引入机器学习的算法、人工智能的算法去构建在线数据智能的决策。

这是业务中台的五个对策,主要解决传统的系统架构问题,怎么做到高耦合和内聚,怎么提高迭代。

配置化和插件化解决灵活性问题,把灵活性开放给不同团队。数据化实际上是中台赋能业务,有中台的赋能才能变得更好。

经验总结


业务中台从无到有,到被应用的实践过程中,积累了很多实战经验。主要分享以下几点:

第一点:成功实现最大的业务孵化中台是滴滴出行构建业务中台最大的经验。

因为最大的业务最复杂,把最复杂的业务搞定,用最复杂的业务落地别的业务会容易。也就是从快车开始做,逐步整合专车、出租车、代驾等。

第二点:稳定,中台对业务有收益,最根本的是保证稳定,稳定是发展的前提和基础。

在整个构建中台的过程中非常重视稳定性,有各种机制,包括灰度发布、分层次发布、流量回放、全链路压测等等,保证代码的质量和系统的稳定。

第三点:加强沟通,平衡多业务的优先级。

滴滴出行有多个业务,有很多大区和城市,每个地方都有很多需求,要有一套机制和资源池。

如何保证相应每个业务都能按照所对应的在公司的重要性来获取部分资源,要保障它的灵活性和效率,所以要有很多沟通工作,有很多平衡的工作。

第四点:中台系统要不断演进,不能一成不变,要发现问题、解决问题。

业务中台不是一蹴而就,而是要在发展过程中不断的变化,持续迭代。

第五点: “没有最好,只有最合适”!

所有中台都一定是适合某个公司特点,最合适的中台是当你深入了解业务、产品、系统、组织,而且不仅了解今天在哪里,还要了解过去是怎么演变而来,未来又会怎么演化。

只有当了解所有的东西之后,才能做出最好的中台架构设计。


=>更多文章请参考:《中国互联网业务研发体系架构指南》

=>更多TOP权威案例及行业标准资料请关注微信公众号:

更多内容关注公众号:软件真理与光

滴滴业务中台架构之道:来自技术总监的思考相关推荐

  1. 滴滴业务中台架构之术:来自技术专家的实践

    按:业务中台是什么?阿里打个嘴炮,每家公司理解的都不一样.从业务技术的角度来看,意味着什么?没有答案,答案在每个实践者的心里.本文来自滴滴何修峰的分享,算是术方面的知识.还有一篇在道方面的,可以配合着 ...

  2. 大数据中台架构之道: PaaS + DaaS +DA 全域中台架构详解

    你被大数据杀过熟吗?当今企业对数据的重视度越来越高,在大数据系统架构设计层面,大数据架构师需要完成技术决策.技术选型,还需要根据不同时期的业务场景,不断优化和演进软件架构,最终攻克技术难点.化解技术风 ...

  3. 大数据中台架构之道:揭秘 PaaS + DaaS +DA 全域中台架构设计!

    你被大数据杀过熟吗?当今企业对数据的重视度越来越高,在大数据系统架构设计层面,大数据架构师需要完成技术决策.技术选型,还需要根据不同时期的业务场景,不断优化和演进软件架构,最终攻克技术难点.化解技术风 ...

  4. 中后台管理信息系统通用原型方案、业务中台管理系统、业务中台架构、管理信息系统、订单管理、客户管理、货源管理、财务管理、客服管理、营销管理、办公申请、协作管理、CMS、OA、CRM、ERP、Axure

    本作品是一套通用型的中后台信息系统原型方案,可以快速扩展并输出标准美观的中后台产品原型,极大的提升输出效率和节省协作成本.方案中提供了几十套不同风格和结构的系统框架,并涵盖了大量的常用组件和通用页面模 ...

  5. 业务中台管理系统、业务中台架构、接口类服务、模型类服务、界面类服务、组件类服务、服务架构、中后台、服务审核、AI服务、位置服务、行业场景服务、企业中台、接口配置、模型配置、数据处理、结构化数据、数据源

    业务中台管理系统.业务中台架构.接口类服务.模型类服务.界面类服务.组件类服务.服务架构.中后台.服务审核.AI服务.位置服务.行业场景服务.企业中台.接口配置.模型配置.数据处理.结构化数据.数据源 ...

  6. 业务中台、技术中台、数据中台、AI中台

    中台是一种体系/生态/方法论,有标准和机制,解决顶层领域下各业务子域的高效协同和资源复用问题.中台建设强调企业级,IT部门与业务部门协同建设,各部门.各业务域是中台能力的使用方,同时也是中台能力的重要 ...

  7. 业务中台、技术中台、数据中台、AI中台……

    中台是一种体系/生态/方法论,有标准和机制,解决顶层领域下各业务子域的高效协同和资源复用问题.中台建设强调企业级,IT部门与业务部门协同建设,各部门.各业务域是中台能力的使用方,同时也是中台能力的重要 ...

  8. 最新中台架构PPT,一起欣赏6大互联网大厂的架构图

    直奔主题 大厂中台架构PPT 1. 菜鸟数据中台技术演进之路 陈飞-菜鸟高级技术专家,11年-16年阿里巴巴数据应用部从事大数据风控决策系统,全球企业信息库 ToB产品,16年至今菜鸟数据&规 ...

  9. 从滴滴出行业务中台实践聊聊如何构建大中台架构

    经历了 5 年的发展,滴滴出行现已拥有 4.5 亿用户.超过 2100 万车主,业务覆盖 400+ 城市. 在创业初期,为了快速拥抱业务,架构的建设在体系化.完善度等方面会有所不足.随着时间的推移,架 ...

最新文章

  1. 基于thinkphp的省略图便捷函数
  2. nuxt 过滤 query 参数
  3. html制作统计期末成绩,JS-结合html综合练习js的对象——班级成绩表制作
  4. pycharm上传代码到github
  5. 《计算机应用基础》第05章在线测试,计算机应用基础.第五章测试及答案.doc
  6. JSP状态管理 及 Cookie实例
  7. LINUX find、ln 常用命令总结
  8. CentOS_Oracle Enterprise Manager 11g 页面中文无法显示
  9. 你用Deepfakes给小电影换个脸,人脸识别AI也看不出来:95%萌混过关
  10. BZOJ4360 : achievement
  11. 刷算法题必备的基础数论知识
  12. Docker从理论到实践(三)------配置你的DaoCloud的Docker镜像源加速器
  13. android webview 无法加载插件,webView 测试问题,无法检测到 webView 控件
  14. vue如何设置视频封面_vue怎么制作朋友圈封面视频 vue制作朋友圈视频方法
  15. 《面试》游戏开发常用面试问题以及答案
  16. ios免越狱自签工具
  17. FAT文件系统规范v1.03学习笔记---1.保留区之启动扇区与BPB
  18. org.apache.hadoop.hbase.ipc.ServerNotRunningYetException: Server is not runn Hbase shell 无法执行命令
  19. C++作业5 求和 、数组选择
  20. kdj超卖_为什么在KDJ指标的超卖区间不能卖出股票

热门文章

  1. 天地伟业监控视频丢失恢复方法
  2. Python强类型编程
  3. win10能否开机不扫描全部硬盘_如何让Win10系统运行更快(二)
  4. 我从未结束的Java之旅
  5. 数据清洗—excel提取出自己想要的日期数据(针对大量数据)
  6. 高颜值充电宝推荐,颜值高质量好的充电宝盘点
  7. 便宜又好的无线充电宝推荐,实惠的无线充电宝盘点
  8. win7 家庭组连接 使用用户账号和密码连接到其他计算机,Windows家庭组访问的账户控制/使用问题...
  9. immersive-translate(沉浸式双语网页翻译扩展),解决谷歌翻译无法使用问题
  10. 第十七届全国大学生智能汽车竞赛全国总决赛成绩公告