当前位置:网站首页>多业务模式下的交易链路探索与实践
多业务模式下的交易链路探索与实践
2022-08-05 11:28:00 【InfoQ】
一、业务背景
二、交易中台面临的问题

- 1、不同业务模式交易链路主节点有差异,且锁库存、发货、结算等节点也有差异
- 2、需要同时支持多种业务模型共存,且互不影响
- 3、交易链路可拓展,节点可复用,维护成本低,响应速度快,满足业务日常快速迭代
- 4、链路稳定,数据准确,流程可视化,能快速定位问题
三、交易链路实践与探索
3.1、交易链路实践之FSM有限状态机
FSM有限状态机是什么?
FSM方案能做什么?
FSM的四要素

- 现态:指当前所处的状态。
- 事件:又称为“条件”。当一个事件发生,将会触发一个动作,或者执行一次状态的迁移。
- 动作:条件满足后执行的动作。动作执行完毕后,可以迁移到新的状态,也可以仍旧保持原状态。动作不是必需的,当条件满足后,也可以不执行任何动作,直接迁移到新状态。
- 次态:条件满足后要迁往的新状态。
FSM实战
- 状态关系:初始状态、目标状态
- 角色:不同角色有不同的操作权限,比如卖家、买家、系统、客服
- 操作:对应事件Event
- handler:对应动作Action实现

FSM可视化交易链路

3.2、交易链路实践之基于future的分阶段并发模型
- 信息查询(商品、用户、地址、库存、活动、红包、业务线、标签等)
- 校验(库存校验、地址校验、红包校验、商品周期校验、服务校验、价格校验、积分校验、购买次数校验等)
- 风控拦截
- 订单信息组装
- 锁库存类(虚拟库存、实物库存、服务库存、锁红包、锁积分)
- 活动预算扣减
- 持久化(创建订单,创建支付单)
- 操作流水,日志埋点等等
a、传统过程化串行模型:

b、基于future的分阶段并发模型:

- 多线程使接口整体性能大幅提升;
- 将代码更具功能进行了抽象和结构化,分割成相邻状态的最小单元,当于搭建乐高积木,复用性显著提升;
- 拓展性与可维护性得到了质的飞跃;
- 并发严格按照分组划分,组内耗时受约于最长任务耗时
- 分组划分下,线程池利用率不饱和
3.3、交易链路探索之基于事件驱动并发模型

四、总结
边栏推荐
猜你喜欢
随机推荐
再获殊荣 | 赛宁网安入选2022年度“培育独角兽”企业榜单
反射修改jsessionid实现Session共享
解决2022Visual Studio中scanf返回值被忽略问题
Can't get in to ask questions.I want to ask you a question about the return value (traversal of the graph), please give Xiaobai an answer.
《分布式云最佳实践》分论坛,8 月 11 日深圳见
化繁为简!阿里新产亿级流量系统设计核心原理高级笔记(终极版)
大佬们 我是新手,我根据文档用flinksql 写个简单的用户访问量的count 但是执行一次就结束
Use KUSTO query statement (KQL) to query LOG on Azure Data Explorer Database
【名词】什么是PV和UV?
图像分割模型——segmentation_models_pytorch和albumentations 组合实现多类别分割
UDP通信
Detailed explanation of PPOCR detector configuration file parameters
365天挑战LeetCode1000题——Day 050 在二叉树中增加一行 二叉树
Flink Yarn Per Job - JobManger 申请 Slot
华为分析&联运活动,助您提升游戏总体付费
Go学习笔记(篇二)初识Go
使用Windbg过程中两个使用细节分享
数据可视化(二)
脱光衣服待着就能减肥,当真有这好事?
HDD杭州站•ArkUI让开发更灵活








