范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

如何设计交易中台服务

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

绝了!法布雷加斯情史,35岁阿森纳巨星晒全家福,球迷太幸福!我的生活也是头条阿森纳巨星法布雷加斯已经到了职业生涯末年,35岁的小法在个人社交平台上晒了一张全家福,当年阿森纳巨星情史被记者爆料后,引发了不少人的热议,法布雷加斯当年娶了一位熟女杨子姗新年首晒女儿,母女穿亲子装合拍,小小姗扎俩小辫长腿抢镜1月5日,演员杨子姗更新2023年首条动态,分享日常穿搭的杨子姗此次不仅分享了自己的美照还大方晒出了一张母女合照,给足粉丝们惊喜。杨子姗首先晒出一张自拍,36岁的杨子姗留着一头清爽良辰兔年连卡佛与您共襄新年福运(北京上海成都2022年1月5日)新年吉祥新愿景,锦上添花庆兔年。连卡佛呈现新韵兔年衣橱焕颜美肌计划以及氛围感家居等吉祥寓意喜庆单品,打造LUCKYT兔GETHER新年项目,在春节又是一个新年好像就歇了几个班,静默了几天,抬头看看时间,又到了一个新的节点,又是一年!回想起静默的日子,那竟然是难得的休息时间,躺在摇椅上,翘着二郎腿,晒着太阳,跟朋友对着手机吹牛聊天!时间不给娃买了7年礼物的老买手,告诉你,如何给孩子挑选新年礼物2023年春节即将到来,大家给孩子准备的礼物清单都有啥?新年送孩子什么礼物,既实用又有仪式感?临近新年,爸爸妈妈们讨论最热烈的就是如何给孩子选择合适的新年礼物。作为一个给娃买了7年Steam2022年度最佳VR游戏榜单TOP40公布(映维网Nweon2022年12月30日)Steam日前正式公布了2022年的年度最佳榜单,一共六个类别,包括最最畅销游戏,新品,最热玩游戏,抢先体验毕业作品,最佳VR游戏和Ste全面战争罗马X文明与征服联动正式开启!感受纯正罗马风!秦朝作为中国最伟大的朝代之一,首创了大一统的帝国形态,而同时期的罗马也正逐步走上这一条道路,凯撒便是其中的先行者之一,公元50年左右,正是凯撒征战高卢的高潮,根据凯撒的自传高卢战记腾讯代理命运方舟将尽快开测带来史诗般冒险体验日前,由SmilegateRPG研发腾讯游戏代理发行的MMOARPGLOSTARK正式宣布国服定名命运方舟。命运方舟官方发文承诺,在今后的日子中,会尽快推动命运方舟国服测试的开启,必看干货强化专精性价比指南,帮你省钱小技巧强化部件已经到高9后开始进入瓶颈期,该不该把强化丢到强化专精呢?聊聊专精小技巧和专精性价比,内容较多,干货都在后面。分为以下几个部分一什么时候可以专精?二专精材料获取三专精升级小技什么油最不健康?大豆油?医生这3种油,平时尽量少吃随着时代经济的不断发展,越来越多的食用油出现在人们的视野中,除了常见的食用油以外,还有一些比较高级的核桃油和橄榄油,市面上的食用油让人看得眼花缭乱,不知选哪种更有利于身体健康。在这新毒株XBB已进入国内中医推荐2汤2茶,备不时之需据报道,上海等地已发现新毒株XXB。在网上新毒株的感染情况传言也非常多,最主要的是说出现腹泻等情况,所以前一阵子蒙脱石散诺氟沙星出现脱销的情况,注意这类药物最好在医生的指导下服用。
安史之乱有多恐怖?长安城十室九空,睢阳城三万百姓被煮熟吃掉公元755年12月的一天,骊山华清宫里,莺歌燕舞,一派祥和欢乐的气氛。70岁的唐玄宗李隆基,正在和36岁的杨贵妃,觥筹交错,谈笑风生,享受太平盛世下的美好生活。突然,丞相杨国忠一路显微镜下的大明之六正统年间的四条冤魂很简短的一个故事,就是有人诬告,四个无罪之人被屈打成招,但大明律法看人头需要逐级上报,由州府移交中枢,由刑部都察院大理寺三轮复审,三个部门一致同意了,再请皇帝勾决惧鲸的龙子蒲牢蒲牢在古代中国神话传说中为龙九子之一,排行第四,平生好音好吼,洪钟上的龙形兽钮是它的遗像。文选汉班孟坚(固)东都赋于是发鲸鱼,铿华钟。注(三国)薛淙西京赋注曰海中有大鱼曰鲸,海边又岁月神偷日子太不经混了,就这么稀里糊涂不知不觉竟混过了整整五十年,知天命,还真不知道。在早己脱单却未脱贫的路上奔波,医保也解决不了的脱发如影相随。如果哄小孩给颗糖,其实成年人更需要,至少要新疆特有地方剧种曲子戏何以传唱百余年?中新网乌鲁木齐11月29日电题新疆特有地方剧种曲子戏何以传唱百余年?作者戚亚平齐琳洁每天上午哼着小曲忙完家务,家住新疆生产建设兵团第六师红旗农场的刘淑珍都会简单打扮一番,然后便和同南阳一个值得三顾的地方老子隐居第四洞天纪念票正式发行欢迎关注南阳文化旅游网(一部手机游南阳),将发布您最感兴趣的最新政策,文旅资讯,民生服务景区策划活动组织团队出游文旅特产旅游线路等信息,是吃住行游购娱企业和单位投放广告出游优选的合离天堂最近的地方,西藏阿里阿里被称为西藏的屋脊,平均海拔4500,地广人稀,周围遍布雪山圣湖,无数的藏羚羊藏野驴在这里无忧无虑的自由奔跑。这里有被藏传佛教徒视为世界中心的神山岗仁波钦与神女峰纳木那尼遥遥相望200不到就能住索菲特,这里应该是全国住酒店最便宜的地方原本以为澳门的消费水平很高住什么地方都是很贵的,因为他们只有五星级酒店可以选择。没想到在疫情之后,这里的酒店全部变成白菜价。就算现在推出了电子签证,澳门的入住率依旧不是特别高。因为100句在段首文末的14字硬核金句愿有前程可奔赴亦有岁月可回首71莫道浮云终蔽日,严冬过尽绽春蕾。适用主题拨云睹日心怀希望释义意指不要认为天空中乌云会一直遮住太阳,严寒的冬季过后春天的花就会开放。不要因眼前的逆境或挫折而气馁,希望和光明总会出明朝末年的车厢峡之战,告诉你战场上的天真会要了自己的命李自成和张献忠,他们俩人到底谁才是大明王朝的掘墓人?对于此问,众说纷纭。有说李自成,有说张献忠。说李自成,是因为他亲自带兵攻破了明朝的都城北京。说张献忠,是因为他纵横的地域远超李自曝光iPhone15系列有五款机型,iPhone14跌至大米价快快欢呼疯抢据悉目前已经的iPhone15共有iPhone15标准版iPhone15PlusiPhone15ProiPhone15ProMaxiPhone15UItra五款机型,全系都采用了灵