交易易系统中台架构落地与演进美旅-住宿研发组:王尧喜-2018.01背书-技术梯度写代码技术设计技术架构技术规划视野⾏行行知闻技术感觉知识型领悟型通⽤用型⽬目录交易易业务1平台和中台23交易易系统中台架构4交易易中台的⽊木桶依赖5架构落地实施6中台架构演进1-交易易业务-售前、售中、履履约、售后售前:拿货售中:卖货履履约:给货售后:退换1-交易易业务-交易易业务是什什么交易易业务多阶段、多⻆角⾊色参与、多信息互通的商品/服务交换过程CMB下单系统上单履履约下单订单付单履履约退单记账出票配送上⻔门商品C留留房结算B M 信息系统2⽅方参与:动作+数据B M B M BM BM C C C CC流程型信息系统2⽅方参与:⼀一系列列动作+数据带状态电商四流信息流、订单流、资⾦金金流、物流拿卖给退数据状态2-交易易业务-状态机故宫⻔门票50块⼀一张,⼩小明要买2张,商品价值=100元订单价值= 100元优惠券(10)红包(5)折扣(9)积分(3)X码(2)⼩小明需付❌❌❌❌❌100元❌❌❌❌✅90元✅❌❌❌✅85元❌❌✅81元✅❌❌✅✅❌❌87元✅❌❌✅✅85元•100元都是谁出的•啥时候出的•出了了多少⼈人⺠民币账户券系统红包系统折扣系统积分系统码系统⼩小明平台商户实时收限时收⻆角⾊色收款形式账户系统(⽹网关)故宫⻔门票50块⼀一张,⼩小明要买2张,商品价值=100元订单价值=100元优惠券(10)红包(5)折扣(9)积分(3)X 码(2)⼩小明需付❌❌❌❌❌100元❌❌❌❌✅90元✅❌❌❌✅85元❌❌✅81元✅❌❌✅✅❌❌87元✅❌❌✅✅85元•100元都是谁出的•啥时候出的•出了了多少•100块买了了啥⼈人⺠民币账户券系统红包系统折扣系统积分系统码系统⼩小明平台商户实时收限时收⻆角⾊色收款形式账户系统(⽹网关)婴⼉儿免票⼉儿童半价不不享受优惠⽼老老年年9折不不享受优惠货币规则层订单账户总值货币构成货币的分配成本承担⽅方式1-交易易业务-资⾦金金&账务流程下单订单流转账务(应收付)下单成功购买端⽀支付付单处理理退单履履约C:customer P:platform S:supplier⼀一次“记账请求”⽣生成⼀一条总账务⼀一条总记账请求包含多个⼦子账务所有⼦子账务完成,表示总账务完成账务系统进⾏行行账务实收付收付分实时结算和限时结算应付账账期账务关系应付账账期账务关系应收账账期账务关系P to SC to P应付账账期账务关系应收账账期账务关系P to CP to S应收账账期账务关系S to P账务(实收付)货币⽹网关S to P订单账户总值货币构成货币的分配成本承担⽅方式2-平台和中台-架构是啥各种A(Architecture)各种D(Drvien)⼈人 VS 机器器2-平台和中台-架构是啥管理理确定性和不不确定性稳定+变化新的稳定+变化新的稳定+变化2-平台和中台-业务系统阶段⾥里里程平台是业务发展过程中,逐步沉淀的内聚服务、原⼦子服务,可⽀支撑多业务建设。
平台与平台之间是隔离的、有gap中台⽀支撑多种业务形态(提供可扩展、可复⽤用的流程能⼒力力)致⼒力力于解决⻓长流程、⻓长事务过程通过组合平台、业务抽象、SOP化核⼼心流程和数据由中台管理理单⼀一应⽤用系统业务服务化职能平台化业务中台化时间/业务复杂度架构稳定性复杂⽀支撑度2-平台和中台-业务系统演进三阶段接⼝口接⼝口接⼝口IDLSOAIDL IDL插拔式SOAAPI平台能⼒力力StorageORM 2-平台和中台-应⽤用结构图对⽐比业务服务化+平台流程1⽤用户中⼼心业务A L1L2L3… APP H5open API 微信业务B…搜索详情订单进度StorageORM LNGATE WAY前台部分后台部分流程2L1L2L3…LN流程3L1L2L3…LN流程1L1L2L3…LN流程2L1L2L3…LN运营中⼼心售后中⼼心⽀支付中⼼心…中间件DEV OPS 基础设施业务A业务B业务中台化+平台流程1业务A L1L3L5… APP H5open API 微信业务B…搜索详情订单进度StorageORM LNGATE WAY前台部分中台部分中间件L2L4L6LS流程2L1L3L5…LNL2L4L6LS流程3L1L3L5…LNL2L4L6LS平台能⼒力力⽤用户中⼼心运营中⼼心售后中⼼心⽀支付中⼼心…业务A业务B2-平台和中台-中台架构⽬目标组织上技术战略略组织能⼒力力组织效率业务上业务标准快速试错快速插⼊入技术上流程复⽤用架构结构轮⼦子问题⼤大数据数据源收敛结构化标准化2-平台和中台-中台的基本分层业务业务中台能⼒力力平台基础组件基础设施逻辑SOP平台组合能⼒力力扩展+端状态跃迁核⼼心数据IDL销售端交易易类业务账务中⼼心影⼦子商品交易易中台下单验单预占订单付单验单实占履履约退单验单归还业务插⼝口退单详情账务账务消费验码账务⽀支付中⼼心促销红包货币⽹网关⻔门票跟团游业务插件景区代理理商B2B 供给供应链⽹网关供货管理理控货管理理商品基础信息价格模式库存模式购买规则履履约模式⽤用户⽀支付规则商户结算规则⽤用户退款规则商品包装信息商品包装模式商户回款规则包装调价模式⻔门票售卖跟团游售卖景酒售卖套餐售卖活包单笔⽀支付混合⽀支付定额多期⽀支付先押⾦金金免赠秒杀拼单买了了就⽤用买了了过段时间⽤用改签订单账户订单⼦子账户账户快照应付账应收账账期债权关系币种状态唯⼀一号记账总账请求B2B开放平台商品中⼼心订单订单中⼼心上单/供货下单付单履履约退单购买项年年票销售端交易易类业务账务中⼼心影⼦子商品交易易中台下单验单预占订单付单验单实占履履约退单验单归还业务插⼝口退单详情账务账务消费验码账务⽀支付中⼼心促销红包货币⽹网关⻔门票跟团游业务插件景区代理理商B2B 供给供应链⽹网关供货管理理控货管理理商品基础信息价格模式库存模式购买规则履履约模式⽤用户⽀支付规则商户结算规则⽤用户退款规则商品包装信息商品包装模式商户回款规则包装调价模式⻔门票售卖跟团游售卖景酒售卖套餐售卖活包单笔⽀支付混合⽀支付定额多期⽀支付先押⾦金金免赠秒杀拼单买了了就⽤用买了了过段时间⽤用改签订单账户订单⼦子账户账户快照应付账应收账账期债权关系币种状态唯⼀一号记账总账请求B2B开放平台商品中⼼心订单订单中⼼心上单/供货下单付单履履约退单购买项品类组合形态付款形式成单⽅方式年年票商家何时履履约销售端交易易类业务账务中⼼心线上售卖会员线上售卖会员集团售会员换购券换购图书单笔⽀支付积分⽀支付免赠秒杀拼单订单账户订单⼦子账户账户快照应付账应收账账期债权关系币种状态唯⼀一号记账总账请求交易易中台下单验单预占订单付单验单实占履履约退单验单归还业务插⼝口退单详情账务账务⽀支付中⼼心积分账户MSC 结算货币⽹网关会员魔盒业务插件魔盒⼿手⼯工上单B2B 供给供应链⽹网关代储值商品基础信息价格模式库存模式购买规则履履约模式⽤用户⽀支付规则商户结算规则⽤用户退款规则商户回款规则商品中⼼心分享后发潘多拉直连酒店集团4-交易易中台的⽊木桶依赖商品中⼼心平台能⼒力力交付效率商品模型规则模型售前、中、后信息集接⼝口收敛程度参数收敛程度研发效率变更更隔离验收效率回归巡检能⼒力力IN OUT问题分⽀支判断数据转换节点不不清晰读写不不清晰⾃自研执⾏行行框架维护成本统⼀一上下⽂文标准SOP分⽀支判断(流程组合) INOUTcheckpoint本地插件式:阿⾥里里巴巴中台的2个能⼒力力SOP平台组合能⼒力力扩展+⾃自研(RPC):⾃自研框架(开关)IDL 标准化平台依赖下沉状态跃迁核⼼心数据IDL热配置1688/淘宝/天猫/聚划算/闲⻥鱼模块A模块B模块C模块DInOut事件驱动命令驱动战略略(Strategy)业务域(Business areas)业务流程(Business Process)操作流程(Producers)ServerL1L2L3LN1.Register LogicIN GROUP [all logics]Rule Rule RuleIN Container [all rules]2.Register Logic RuleL4Client3.Client InvokeL1L2LNRetain IN GROUPLogics Mapper4.real logicsPositive ExecutorResult Result Result6.get invoke results7.has errorslog erros 9.find reverse logicsby success logics8.need interruptedYesYesNOL1-RE L2-REReverseExecutorIN GROUP5.invoke logic in GROUPReverse LogicsMapper10.invoke logicsGROUPcontextresult5-架构落地实施-插件式-执⾏行行框架(EF)数据上下⽂文(Context)分⽀支规则容器器(Rule Container)Rule Rule Rule Rule Rule RuleLogic IDContextExector 正向执⾏行行引擎Execption Exector中断引擎Logic Result [Status][interrupted]Result Chain [All Succeed Chain][All Failed Chain]LogicLogicLogicLogicLogicLogicLogicLogicLogicLogicGROUP[Logic 执⾏行行][分⽀支判断][结果判定][Logic 执⾏行行][Logic 判定]数据上下⽂文(Context)OutResultIn Context LogicRuleGROUP5-架构落地实施-插件式-⾃自研框架Rule LogicLogicLogicLogicLogicLogicLogicRuleLogic IDContextLogic ID Logic IDLogic IDHit or NotRuleContainerLogic Result [Status][interrupted][Logic Id]Positive ExecutorReverse Executor[All Succeed Logics][All Failed Logics]Loigcs structureFind reverse Logics in success LogicsLogicResult[interrupted][Status]LogicResult[interrupted][Status]LogicResult[interrupted][Status]LogicResult[interrupted][Status]LogicResult[interrupted][Status]LogicResult[interrupted][Status]LogicResult[interrupted][Status]GROUPResults ChainLogicLogicLogicLogicResult[interrupted][Status]LogicResult[interrupted][Status]LogicResult[interrupted][Status]Positive LoigcsReverse Loigcsinvoke Logicsinvoke LogicsE X E C U T O ROutResultIn Context LogicRuleGROUP5-架构落地实施-插件式-执⾏行行框架示例例(下单流程)下单上下⽂文(DataPushContext) - [InputContext/CollectContext]分⽀支规则容器器(Rule Container)限购与否[⻔门票需要历史购买]⻛风控与否[B2B 不不⾛走]新⽼老老客与否[景酒、机+X 、⻋车+X 不不⾛走]乘客⼈人数校验[⾮非机+X 不不⾛走]优惠与否Logic ID下单上下⽂文(DataPushContext)Exector 正向执⾏行行引擎Execption Exector中断引擎Logic Result [Status][interrupted]Result Chain [All Succeed Chain][All Failed Chain]库存归还抵⽤用券重置活动重置GROUP⽤用户账号产品信息价格信息库存信息各类规则总价校验库存校验限购校验⻛风控校验⼦子价校验库存占⽤用优惠使⽤用抵⽤用券使⽤用业务下单订单数据资⾦金金数据销量量索引缓存订单中⼼心打点[Logic 执⾏行行][Logic 判定][Logic 执⾏行行][分⽀支判断][结果判定]下单上下⽂文(DataPushContext)标准下单接⼝口(OrderCreateService )// 执⾏行行引擎LogicExecutor<DataPushContext> pipeLineExecutor = new LogicExecutorImpl<>();// 执⾏行行单元容器器@ResourceOrderCreationLogicGroup logicGroup;logicGroup.addLogic (SpringBeanUtil.get Bean (OrderNoCollectLogic.class ));logicGroup.addLogic (SpringBeanUtil.get Bean (BusinessProductCollectLogic.class ));logicGroup.addLogic (SpringBeanUtil.get Bean (LineInfoCollectLogic.class )); logicGroup.addLogic (newStockCalculateLogicUnit());logicGroup.addLogic (SpringBeanUtil.get Bean (InsuranceProductCollectLogic.clas s ));logicGroup.addLogic (SpringBeanUtil.get Bean (UserNewOldTypeCollectLogic.class ));logicGroup.addLogic (SpringBeanUtil.get Bean (UserInfoCollectLogic.class )); logicGroup.addLogic (SpringBeanUtil.get Bean (CreditCollectLogic.class ));APP I 版微信分销⼆二销场次票打包景酒⻔门票跟团游⻋车+X 机+X 酒+X销售渠道业务形态EDA逆向正向5-架构落地实施-⾥里里程碑碑订单模型资⾦金金模型账务模型购买项消费项各模型状态机模型统⼀一模型服务化业务双写模型转化业务为主数据接⼊入双向数据⽐比对全模型⽐比对全场景⽐比对循环上述过程数据验证业务侧数据转换分模型迁移灰度验证执⾏行行《数据验证》数据迁移业务侧数据为主中台侧数据转换分模型迁移灰度验证执⾏行行《数据验证》中台侧数据为主SOP 化插件接⼝口下单处理理付单处理理退款处理理出票处理理消费处理理结算处理理数据使⽤用标准化订单详情标准化填单⻚页⾯面标准化数据检索标准化数据应⽤用流程统⼀一化⼤大数据改造6-演进-UI模块化-订单详情⻚页Interface LayerBackend Server 统⼀一数据业务侧差异数据游玩信息履履约形式接⼝口数据参数标准化+伸缩[容器器类数据]订单建模各个数据项建模ES建模参考信息EDAOOAOOD OOP CQRS DDDMDA zachman framework谢谢。