当前位置:网站首页>多业务模式下的交易链路探索与实践
多业务模式下的交易链路探索与实践
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、交易链路探索之基于事件驱动并发模型

四、总结
边栏推荐
- Http-Sumggling Cache Vulnerability Analysis
- shell编程流程控制练习
- 【名词】什么是PV和UV?
- Android development with Kotlin programming language - basic data types
- lvgl 实现状态提示图标自动对齐补位显示
- 停电。。。烦烦烦!!!
- #yyds干货盘点#【愚公系列】2022年08月 Go教学课程 001-Go语言前提简介
- 5G NR system messages
- Image segmentation model - a combination of segmentation_models_pytorch and albumations to achieve multi-category segmentation
- 结合“xPlus”探讨软件架构的创新与变革
猜你喜欢
随机推荐
问题征集丨ECCV 2022中国预讲会 · Panel专题研讨会
【MySQL基础】-【数据处理之增删改】
手把手教你定位线上MySQL慢查询问题,包教包会
How about Ping An Mengwa Card Insurance?Let parents read a few ways to identify products
PostgreSQL 2022 Report: Rising popularity, open source, reliability and scaling key
深度学习(四)分析问题与调参 理论部分
Guys, I am a novice. I use flinksql to write a simple count of user visits according to the document, but it ends after executing it once.
Student Information Management System (first time...)
Dynamics 365Online PDF导出及打印
苹果Meta都在冲的Pancake技术,中国VR团队YVR竟抢先交出产品答卷
TiDB 6.0 Placement Rules In SQL 使用实践
停电。。。烦烦烦!!!
PHP高级检索功能的实现以及动态拼接SQL
hdu4545 魔法串
poj2287 Tian Ji -- The Horse Racing(2016xynu暑期集训检测 -----C题)
abc262-D(dp)
Mathcad 15.0软件安装包下载及安装教程
支持向量机SVM
数据可视化(一)
丹尼尔·拉瑞莫(BM):EOS的主要开发者









