2017双11交易系统TMF2.0技术揭秘,实现全链路管理

 

阿里巴巴资深技术专家 毗卢

毗卢,阿里巴巴资深技术专家,主导设计了TMF2.0框架,并基于该框架完成交易平台架构升级改造,目前负责商品中心,专注电商领域业务建模与工程交付相结合的研究与平台推广。

交易平台遇到的挑战

在刚刚过去的2017双11,交易峰值达到了32.5万笔/秒,这给整个交易系统带来了非常大的挑战。一方面,系统需要支撑全集团几十个事业部的所有交易类需求:要考虑如何能更快响应需求、加快发布周期;如何能为新小业务提供快速支撑、降低准入门槛;是否足够开放使得业务方能做到自助式扩展;新需求是否已经在其他事业部有可复用资产等问题。另一方面,整个电商体系涉及的应用高达7000+:要考虑需求的评估是否具有全链路视角;业务需求的技术评估是否分析全面、技术方案的影响范围是否评估到位;业务的全链路稳定性保障、调用链路监控、强弱依赖等问题。此外面对每天几百个业务需求,500+个独立的发布变更:要考虑各业务方的需求发布是否会相互产生影响;需求代码是否对平台有侵入、导致平台腐化;高频率的需求发布下如何管控质量;能否按业务维度进行业务监控、故障分析等等。

TMF2.0解决的关键问题

面对这些挑战,TMF2.0框架需要六大关键问题。

  • 业务可视化:平台能力、业务规则决定是否对外透出;
  • 需求结构化支持:基于透出的业务能力、已有的业务规则完成需求结构化分解降低沟通成本;
  • 业务配置化:这是可视化的前提,要在需求明确的情况下在线配置业务、快速发布上线;
  • 业务测试一体化:根据修改的代码进行自动化用例筛选、自动化测试;
  • 业务监控:以精细化的业务维度进行监控,而不仅仅局限于交易大盘;
  • 故障排查:当业务故障时快速拿到故障快照、还原故障现场以及迅速定位问题原因。

针对以上六大关键问题,TMF2.0的关键设计点有以下三个层面。

首先,需要实现业务/平台分离插件化架构。平台提供插件包注册机制,实现业务方插件包在运行期的注册。业务代码只允许存在于插件包中,与平台代码严格分离。业务包的代码配置库也与平台的代码库分离,通过二方包的方式,提供给容器加载。

其次,要统一业务身份。平台需要能有按“业务身份”进行业务与业务之间逻辑隔离的能力,而不是传统SPI架构不区分业务身份,简单过滤的方式。如何设计这个业务身份,也成为业务与业务之间隔离架构的关键。

另外,要注重管理域与运行域分离。业务逻辑不能依靠运行期动态计算,要能在静态期进行定义并可视化呈现。业务定义中出现的规则叠加冲突,也在静态器进行冲突决策。在运行期,严格按照静态器定义的业务规则、冲突决策策略执行。

下文将针对这三块的内容分别展开来详细介绍。

业务定制包与平台分离的架构

 

如上所示的业务定制包与平台分离架构可以分为四个层次。最底层是交易规范层,包括一些交易模型、交易领域的划分、业务领域的划分、以及交易启动环境下的配置项。基于这个理论模型,就可以进行一些定义及规范工作,比如接口定义、流程规范、模型规范等,而且其中的很多内容都可以在不同的领域进行复用。

上面一层是解决方案层。大家都知道阿里巴巴目前正在走国际化的战略,所以面对不同的市场会构建不同的解决方案,不同的解决方案中也就有自己不同的业务玩法、业务逻辑。所以要将不同的市场解决方案和他们自身的流程、规则结合起来。但是这一过程中会发现,不同的市场解决方案会有很多可以复用的地方,比如营销模式。所以形成的可复用基础实现就可以在不同的解决方案中得到复用,所那么在面对不同的市场时就不用考虑可复用基础实现的内容,只需要关注市场相关的业务就可以了。

往上一层是业务定制层。即使是在一个市场内,也会有各种细分的定制玩法,这些不同的细分点就会有各自不同的业务逻辑,这就是制定业务定制层的原因。团队会根据底层的需求点来进行一些业务定制包的组装,就可以实现不同的业务逻辑和玩法了。

在这样一个复杂的分离架构中,最重要的是要将不同层次间的职责划分清晰,整个代码都严格地、有意识地进行分离。所以在最后的部署过程中,首先要完成底层业务的复用,然后形成不同市场的解决方案,再在解决方案下对不同的业务实现差异化的点。

业务身份定义标准化

上面所讲的是业务和平台的分离,在业务和平台分离之后就要进行业务和业务之间的隔离,即统一的业务身份,类似于身份证号码,在整个交易链路上必须是唯一的。业务身份需要通过人、货、场三个维度进行抽象,比如市场类型、垂直市场、渠道来源等等,确定了这个唯一的业务身份后就可以将业务流程和业务规则进行关联。

基于业务识别,团队也提供了一个基于UIL的业务身份识别方案,总体设计基于标准模型来抽象,自定义语法,统一管理模型。事实上,通过样品模型、买家模型、卖家模型、类目模型这四个维度,99%的商品都可以有效地进行标识。业务身份确定后,就可以按照业务身份维度,对业务配置、部署进行统一管理,在这其中要注意配置隔离性、热部署、配置回滚、配置确定性等核心要素。

业务管理域与运行域分离的框架

 

业务身份确定后就要进行业务定义,这其中就涉及管理域和运行域分离的问题。管理域就是指对业务生命周期、业务身份、业务对象进行定义,包括业务流程、业务管理等。这些操作完成之后就会将配置文件下发到,运行域上的各种平台就会自动解析配置域所下发的配置文件,然后将配置文件解析成业务命令来执行。

在上面所讲的业务域中,一个核心的问题就是如何定义业务:核心三要素是业务身份、业务叠加关系、冲突决策,即基于业务协议标准定义业务,执行单元按协议执行业务逻辑。

 

在业务叠加关系中,业务的复杂度就在于业务规则在不同维度下产生的冲突。业务的复杂度可以分为两个维度,一个是横向维度,一个是垂直维度。

垂直维度,也可称之为“行业”。往往一个特定的“业务对象”(如商品),在静态期就能确认其具体归属于哪个行业。行业与行业之间的业务规则是不会有叠加的。比如,付款超时时间,各可以都设置为1天超时。但“天猫汽车”把超时时间改了,一定不会联动改其他业务的超时设置。横向维度,也称为产品维度,特点有:产品是可以被多个垂直业务所使用的、一个垂直业务是可以使用多个产品的、产品是否生效是需要结合业务会话的。比如,“电子凭证”是否生效,要看用户是否选择了“电子凭证”的交付方式。

通过业务复杂度的分析,可以得出一个结论是:一次业务会话完整的规则=1个垂直业务规则集合+ N个水平业务规则集。所以在做业务定义和管理的时候,具体就是在管某一个垂直业务是和哪些横向业务在叠加。在叠加之后产生的业务冲突又是怎么解决的?要基于这一点进行业务管理。这是比较关键的一点。

TMF 2.0的关键模型介绍

基于以上的业务域介绍,下面详细阐述一下TMF 2.0的关键模型,主要包括业务配置主线和业务运行主线。

 

在业务配置主线中,由项目的业务PD来看一下当前业务涉及到哪些业务域,以及这些业务域下面有哪些功能和产品可以去使用,哪些业务点是可以去扩展的。这其中就需要能力域模型的支撑,通过这个模型所透出的结构化数据,来研究平台中每个域具备的能力、每个能力具有的可变点,从而有针对性地进行设置。在配置模型里,通过关键的视图模板,进行模板透出,然后保存、下发配置数据到业务运行主线。业务配置主线和业务运行主线是相交互的。

基于TMF 2.0关键模型,整个交易平台实现了业务定义可视、可管、可配。业务定义可视化包括系统能力可视化、业务流程可视化、业务规则可视化、产品叠加可视化等;业务可配置,所见即所得的业务规则可配置能力,凡是基于TMF2标准构建的系统均立刻可获取业务可配置能力,不需做额外的开发;配置版本化,针对业务配置有完善的版本化管理机制,配置推送可实现按版本快速生效或者回退;业务多租户管理,不同的业务系统之间可以通过租户完全隔离的。不同的租户有自己的数据空间,以及配置推送策略。

在实际应用中,基于TMF2.0交易平台改造效果具体如下:

  • 业务需求平均开发周期缩短至12天。比如汽车4S服务中,在老系统上做了一个月(未完成),新系统7天完成;五道口业务中,在老系统中评估工作量两个月,新系统12个工作日完成;饿了么业务中,老系统评估要两周,基于新系统2天完成。
  • 平台与业务解耦。目前已完成的业务,其业务定制均只存在于业务包;在平台未改动情况下,业务方的发布更加灵活(有多次单业务发布,不需要其他业务方进行回归的案例)。
  • 业务资产库。积累形成了50+业务资产库,新业务可快速进行快速复制、调整并发布。


《2017阿里巴巴双11技术十二讲》全部讲师直播回顾&资料下载,请点击进入:

时间: 2024-09-28 09:24:18

2017双11交易系统TMF2.0技术揭秘,实现全链路管理的相关文章

“刺激的”2017双11 阿里安全工程师首度揭秘智能风控平台MTEE3

"太刺激了,太刺激了!如果那个48%真出问题,整个安全部的双11就可能是3.25!"知命推了推眼镜,语速明显快了一些.伴随着肢体语言,知命表现出来的是程序员解除了重大Bug时的那种兴奋与激动.用这部IMDB评分最高的电影向阿里安全的工程师致敬 MTEE3是什么?那个48%又是什么鬼? 知命,阿里安全业务安全产品技术高级专家,智能风控平台MTEE3的技术负责人.这一切,他向我们和盘托出. MTEE3,性能.智能双重加持 MTEE3的中文名称叫业务安全智能风控平台,最后面的3代表这是全新一

零点之战!探访阿里巴巴8大技术专家,提前揭秘2017双11关键技术

点击进入阿里云双11主会场 摘要:在距离双11已经不到10天的这个时刻,一场看不见硝烟的战争似乎已经打响.随着一年一度购物狂欢的即将到来,网上出现了很多阿里技术应对双11的段子."阿里工程师拜关公求服务器不宕机","技术人员围着被子敲代码"等传闻也被消费者们所津津乐道.那么,针对双11期间极为严苛的技术压力,阿里巴巴究竟是用怎样的方式进行解决的呢?在接下来的文段中,就让我们一起来对阿里巴巴在2017双11背后的技术进行一次细致的了解和探访.   阿里巴巴针对双11的

揭秘2017双11背后的网络-双11的网络产品和技术概览

引言 揭秘2017双11背后的网络-一张图读懂2017双11中的网络产品和技术 揭秘2017双11背后的网络-双11的网络产品和技术概览 揭秘2017双11背后的网络-直面双11洪峰的负载均衡SLB 揭秘2017双11背后的网络-全球最大混合云架构 注:如果对网络产品还不太了解的,推荐阅读 一张图看懂阿里云网络产品[一]网络产品概览 下面分别对双11中的主要网络产品-专有网络VPC,负载均衡SLB,NAT网关,高速通道以及混合云架构进行介绍 VPC-安全的网络容器 专有网络VPC(Virtual

2017双11技术揭秘—X-DB支撑双11进入分布式数据库时代

作者:章颖强(江疑).胡炜 X-DB 1.0(X-Cluster)是阿里自主研发的,100%兼容MySQL生态的,全球级分布式强一致的关系型数据库系统.今年双11是X-DB的第一次大考,本次双11X-DB服务于天猫/淘宝核心交易系统.核心物流系统.核心IM系统,经受了零点业务32.5万笔/秒峰值的性能考验(对应数据库峰值每秒破亿次的SQL调用):同时X-DB支撑起了新一代单元化架构,在分布式一致性算法Paxos的统一框架下,第一次提供了跨Region分布式强一致能力,实现高效的跨Region数据

一张图看懂2017双11中的网络产品和技术

一张图看懂2017双11中的网络产品和技术 揭秘2017双11背后的网络系列文章: 揭秘2017双11背后的网络-一张图看懂2017双11中的网络产品和技术 揭秘2017双11背后的网络-双11的网络产品和技术概览 揭秘2017双11背后的网络-直面双11洪峰的负载均衡SLB 揭秘2017双11背后的网络-全球最大混合云架构

【双11背后的技术】双11晚会背后的技术

选自<不一样的技术创新--阿里巴巴2016双11背后的技术>,全书目录:https://yq.aliyun.com/articles/68637 本文作者:邵雍   回顾2015年在鸟巢举行的第一届双11晚会,我们可以称之为"全民互动"的晚会.因为不止是现场的几千位观众,全国所有在电视机面前的观众朋友,都可以拿起手机,打开天猫客户端或淘宝客户端,参与到晚会现场的各个明星互动游戏中来,进行红黑押宝,获胜的人,还能抢到一元商品. 而刚刚过去的,在深圳大运中心的2016第二届双1

解码2017双11:全球狂欢新记录背后的阿里云存储

阿里云存储支撑双11新记录 2017天猫双11全球狂欢节,全天成交额再次刷新纪录达到1682亿元,全天支付总笔数达到14.8亿,全天物流订单达8.12亿,全球225个国家和地区的消费者参加.新零售能量全面爆发,全球超100万商家线上.线下打通,近10万智慧门店.超50万零售小店参与"全球共振". 这背后是大数据的支撑和阿里云计算的能力的体现.手淘.天猫APP主站的所有图片和视频都存储在阿里云对象存储OSS之上,全球数以亿计的消费者,对这些商品的访问的流量和并发次数,比成交笔数高得高.正

68期:2015“双11”背后的关键技术专题

云周刊 本周要点 查看更多 [盘点]2015"双11"背后的关键技术 回首这一年,盘点技术界的大事件必然离不开"双11"这一场技术盛宴.当亿万用户购物狂欢时,屏幕那一头是众多阿里工程师的努力付出.为大家盘点了2015年"双11"阿里技术内幕,从应用服务.中间件.数据库到基础设施等方面工程师一线实战技术经验分享,让你更多了解"双11"背后的人和事,也希望帮助开发者从中得到借鉴. 阿里云Docker容器服务开发挑战与对策 阿里云2

15年双11手淘前端技术巡演 - 前言

该文章来自阿里技术协会(ATA)优选文章. 15年双11刚落下帷幕.今年众所周知,是全面"无线化"的一年.数据上我就不说了,可以公开的数据我相信大家多多少少也从各方都了解到了. 在整个阿里体系内,无论技术还是业务,都会把每年的双11当作一个战场,同时也是一个"炼金石".不管是技术还是业务,不经过双11的检验,似乎就没有资格真正的在阿里站得住脚. 此文作为今年双11手淘前端技术巡演的前言,注定会是一篇技术干货含金量偏少的一个引子.笔者也就着第一次作为双11手淘前端的P