城市直播房产教育博客汽车
快传网
汽车报价
买车新车
博客专栏
专题精品
教育留学
高考读书
房产家居
彩票视频
直播黑猫
投资微博
城市上海
政务旅游

如何设计交易中台服务

7月7日 星宿房投稿
  通过电商平台进行购物通常会经过下单、支付、发货、收货等多个流程,我们往往使用【链路】的方式来表达该流程,如下图所示。在画交易链路图时需要注意:圆圈表示的是一个【状态】,圆圈之间的连线表示的是一个【事件】或【动作】;【状态】是在【事件】的驱动之下进行更新和变化的;【状态】具有持续性,而【事件】则是瞬时的。
  像这样的一个交易链路是非常非常理想化的。现实中,随着用户量增大,交易中各种异常情况的出现,我们需要在该交易链路中引入各种负向的行为。所以,真实的交易链路应该是如下图所示的情况这样:交易链路应该是网状结构,而非线性结构!
  面对这样的一个交易链路,应该如何进行实现呢?相比应该难不倒大家,哪怕多写几个ifelse和switch语句也是可以落地实现的。
  我们今天的问题是:假设你是一个交易中台的技术负责人,有几十条业务线会接入交易中台系统;最关键的点是这几十条业务线都有自己专门的交易链路(比如:有的业务线是做C2C交易的,有的业务线是做B2B交易的,还有的业务线是做C2B2C交易的),这几十条交易链路都有自己的流转规则,如下图所示。
  你作为交易中台的技术负责人,针对交易链路这一块,应该如何设计交易中台呢?既要方便业务线快速接入,也要方便后续交易中台的代码维护。
  解析:
  交易链路图其本质是一个状态转换图,状态转换图表达的是一个【有限状态机】,即我们常说的【FSM】。我们基于FSM的思想来设计交易中台,整体架构如下图。
  每条业务线都有自己的状态流转规则,而且状态流转规则会随着业务发展不断进行更新;要更轻松维护这几十个FSM,需要统一对其进行结构化存储,降低状态变更和代码维护的复杂度,并由【交易中台】作为FSM执行机来执行交易流程。
  为实现业务线快速接入,可通过配置化的方式实现接入;FSM实现结构化存储之后,实现业务线配置化接入则是顺理成章的事情了!下面我们集中讨论如何实现FSM的结构化存储。
  我们对交易链路进行抽象,可以剥离出一个最小的链路单元:【一个当前状态】和【一个动作】和【一个更新后的状态】;那么所有的链路单元组合在一起,就是复杂的网状结构的交易链路了;我们用以下图来表示每一个交易链路单元。
  在这个二维表格中,纵向第一列的每一个单元格表示【交易状态】,横向第二行的每一个单元格表示【动作】,中间单元格表示每一个对应的动作触发状态的变化。
  我们将每一个最小的链路单元作为一条记录,可以很容易实现FSM的结构化表示,如下图二维关系表所示:
  我们对每一个字段逐个进行分析:
  1。【id】id是一个自增型的主键,唯一表示一条记录;每一条数据记录就是一个最小的交易链路单元;
  2。【fsmtype】fsmtype用以区分不同的业务线,每一条业务线都有其自己独立的FSM编号;
  3。【optype】optype表示动作或事件,该动作触发了交易状态的变化;
  4。【role】role用于描述触发动作的角色,例如:同意退款这个动作只能由卖家这个角色来完成,买家是没有权限触发的;因此role这个字段可以更方便实现用户的权限控制;
  5。【sourcestatus】和【targetstatus】sourcestatus是变更之前的交易状态,targetstatus是变更之后的交易状态;综述以上几个字段,就是:role角色的用户触发了optype动作,将交易状态sourcestatus变更为
  6。【handler】handler这是整个交易中台设计的亮点,体现了插件化和可插拔的设计思想;在交易状态变更时需要执行的业务逻辑由handler进行执行,配置了什么样的handler,就执行怎样的逻辑;很明显,在具体落地时,通常由【反射机制】实现字符串到实现类的映射。
  对这7个字段完全理解之后,对交易链路中台的设计在一瞬间应该会有豁然开朗的感觉。任何一条业务线,在接入交易中台时,只需在该二维表格填写记录,表达出交易链路规则即可。
  接下来就是交易中台的FSM执行机如何基于FSM的结构化存储来完成交易链路逻辑了;彻底理解整个交易中台的设计思想后,这一部分逻辑就非常简单了;这里将接口设计列出,具体实现大家自行实现,具体细节我们在后面的技术短文中继续进行分析。
  FSM执行机引擎接口
  publicinterfaceFsmEngine{
  初始化状态机配置
  voidinit();
  执行状态机
  voidperform(FsmContextcontext);
  获取执行机运行后的状态
  FsmNodeResultgetPerformResult(FsmContextcontext);
  }
  状态机在状态变化时执行的handler接口
  publicinterfaceFsmAction{
  操作权限校验
  voidcheck(FsmContextcontext);
  执行状态机handler
  voidexecute(FsmContextcontext,FsmNodeResultfsmNodeResult);
  }
  最后,总结文中关键:
  1。交易链路图其本质是一个状态转换图,表达的是一个FSM,即有限状态机;
  2。对FSM进行结构化存储,降低交易状态变更和代码维护的复杂度,方便业务线配置化接入;
  3。将每一个最小的链路单元作为一条记录,可以很容易实现FSM的结构化表示;
  4。对FSM进行结构化存储时,涉及关键字段:【id】【fsmtype】【optype】【role】【sourcestatus】【targetstatus】【handler】,handler是整个交易中台设计的亮点,体现了插件化和可插拔的设计思想。
投诉 评论 转载

连花清瘟爆火链式反应连翘价格3年翻5倍中成药成本承压21世纪经济报道记者董鹏成都报道据生意社统计,2022年度涨幅排名前三的商品分别为氢氧化锂(155。38)、连翘(119。03)、工业级碳酸锂(89。47)。两个锂……您只需要把死磕推到极致,把自律推到极致,行云流水,炉火纯青您要想实现暴富,您就能实现暴富。这个世界是很有意思的。您想要得不得了,您日思夜想,您每天都想,您想到了您就去干活,干活,干活,干活,干干干!日日夜夜的干,白天黑夜的……如何设计交易中台服务通过电商平台进行购物通常会经过下单、支付、发货、收货等多个流程,我们往往使用【链路】的方式来表达该流程,如下图所示。在画交易链路图时需要注意:圆圈表示的是一个【状态】,圆圈之间……NBA东部排名榜前6名战无不胜,公牛不敌榜首,但拉文却有望留20222023赛季NBA常规赛正在如火如荼的进行中,1月10日东西部6场比赛结束后,东部排名榜新鲜出炉:前6名纷纷取胜,凯尔特人喜提3连胜,稳居榜首;尼克斯错失前6名,公牛落……长寿风险如何量化和预防,从家庭财务风险管理角度家庭财务风险保障结构,分为四个级别,前段时间完成了基础和初级的风险量化的介绍。下面进入AFFRMS最为重要的部分,投资理财风险。而投资理财风险,又分为储蓄型投资理财风险和投机型……世界杯卡塔尔开始拆除球场,八强已出,有你支持的球队吗?2022世界杯12月7日上午,974球场已经开始了拆除工作,周围的所有帆布和隔离栏已经被去除,可以看到很多工人们正在进行清理和拆卸工作。云吞皮974球场是世界……做金钱的主人你是金钱的主人吗?钱这个字确实太有诱惑力了。我们每个人的兴趣喜好都不同,但当问到边的朋友有什么喜好时,可能很多人都会说:我喜欢‘钱’。所以钱普遍)为大家共同认可并想……壹邦小知识润唇膏吃进去有毒吗?润唇膏可以涂着睡觉吗最近嘴唇好干,我昨天在超市的时候买了一支润唇膏,下午涂了一会儿,晚上吃饭的时候没来得及擦就去吃饭了,这样没问题吗?会不会中毒啊?润唇膏吃进去有毒吗?润唇膏吃进去有毒吗……有点不敢看!盘点瘦成排骨的艺人,张天爱成皮包骨,鲁豫头比身大导读:瘦是美的标准吗?很多明星演员为了瘦,真的是无所不用其极。一味追求瘦,拼命减肥,瘦到脱相也在所不惜。瘦一些,确实很上镜,但是太瘦了就看着很不舒服了,甚至有点恐怖。下面我们来……烟云往事时间如离弦之箭,快的有些美好的东西还没来得及慢慢感受,细细回味,便遗落在岁月的长河里,像大海里一朵翻腾的浪花,仓促而短暂,美丽而渺小。逝去的的青春花开花谢,四季轮回……网络奇兵重制版新视频片段敌人模型全部能切割!经典科幻冒险游戏《网络奇兵》正在进行重制,目前它计划于今年3月份推出。制作组最近发布了几段简短的视频,展示了几个新的游戏特性。首先,当玩家要进入一个被上锁的区域时,需要先……花开盛夏,绿阴满野有多久没有去公园里逛逛了?有多久没有去闻一闻花香了?有多久没有去看看满眼的绿色了?不外出,少聚集,疫情的反复,让人只能窝在家里,透过小小的窗户,打量着外边的天……
粤黔两省签约投资项目267个,投资总额逾千亿元男篮亚锦赛中国男篮大比分被韩国队复仇,任重而道远哪一首歌让你听了就难忘陈小艺丈夫屡遭背叛却不离婚,你以为是卑微,其实他比谁都清醒勇士喜获四大奖!库里无缘最佳男运动员,主持颁奖典礼调侃詹姆斯夏天牛仔裤搭什么鞋子好看?学会这4种搭配,高级又时髦打卡河北乡村旅游民俗体验地鲍子沟中超小长假,河南建业的外援都去了哪里,海口度假非洲修身养性年轻人喜欢喝咖啡,为什么年纪越大的人,越喜欢喝茶?天道有轮回?凯尔特人双探花来源于篮网2013年大交易世界上八大海上航道真是各有各的奇特用处英冠,哈镇VS斯托克城谁已经躺平了?谁更需要分数?
来一次出走就现在听话的学生广州房产新政2020租售同权方面有哪些内容?长期拉羊屎蛋的孩子怎么调理脾胃父母最伤孩子的几个日常行为,犯过的及时更正夫妻没感情的说说一分钟带你了解儿童肥胖症!是什么原因导致的?该怎么做呢?异地婚礼男方父母要过去吗抗战时期无耻至极的汉奸,捐40架飞机给日本人,1951年被枪江河中的精灵谁的精子与谁的卵子不该匹配笔名的由来

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找江西南阳嘉兴昆明铜陵滨州广东西昌常德梅州兰州阳江运城金华广西萍乡大理重庆诸暨泉州安庆南充武汉辽宁