专栏首页艾小仙谈谈中台架构之交易中台

谈谈中台架构之交易中台

中台的概念说了好多年了,起源就是芬兰的游戏公司supercell,之后阿里就提出了大中台小前台的战略,然后和疯狗一样侵蚀了中国。

很多小公司为了显得牛逼,管他呢,干他,就要硬怼个中台出来,反正有个名字叫出来就显得很叼的样子。

其实然并卵,中台的目的还是为了更快的能承接业务的需求,释放开发的重复劳动。

这些年也经历了从交易到金融中台的体验,对中台也算是有个比较粗略的理解,这些年的中台真的有没有那么好,甚至于现在想到什么业务就想搞中台,想做什么就想往中台迁移,好像中台就是万能的,没有中台既不能显示自己的能力,又不能突出自己的水平。

今天,我就谈谈中台,先谈谈交易中台吧。

中台架构

任何一个新生事物的诞生,随之而来都会引发一系列的问题。

就拿中台来说,最开始的探索我想无非就是沉淀、抽象通用的业务能力,达到快速交付的目的,而后随着架构的调整,又会衍生出对应的组织中台、技术中台、数据中台等等。

通常,我们平时最多说的中台能力就是业务中台,比如用户中台、商品中台、交易中台、库存中台、营销中台、金融中台等等,这些通用的能力无论对于哪个公司的业务来说都应该是不可或缺的一部分。

对于前台来说,存在一点改变,比如BFF(backend for frontend)的概念,也叫做面向前端的后端。

通常,对于C端APP、PC、H5、开放平台等这些不同的前台对于数据的要求是不太一样的,为了适应这些变化,针对每个端都整一个BFF作为数据的聚合、裁剪,也可以承载鉴权、限流等一些通用的能力。

这样的架构方式就把传统的一些网关的能力和BFF放在了一起,当然也可以剥离开,更优的解法我想还是通过中间件的能力配置方式就能达到数据聚合、裁剪的能力,同时可以兼有路由、鉴权、限流等等。

中台沉淀的是通用和抽象能力,原本杂糅在一起的业务逻辑和能力就有了清晰的界定,一些传统的业务能力将会被划分到业务后台的概念中,比如一些CRM系统,财务管理系统,用户管理这些。

架构就是类似这样,接下来说具体的交易中台的建设。

交易中台

交易中台核心的3个部分就是正向交易逆向交易履约,无论做哪些抽象的能力,都离不开这3个模块。

一般在团队规模不大的时候,这3个能力都可以放在一起维护,完全没有什么问题,主要服务本身可以承载不用业务线的需求,能够对外输出通用的3个能力即可。

当然,更加具体的业务应该由业务本身来决定是什么,这里只会描述最基础应该具有的能力。

而当业务的体量上升之后,就会面临更多的拆分的必要,比如订单查询、下单、支付、逆向取消退款、履约拆分形式。

正向交易

让我从提单页、订单确认页开始说起,一般来说,提单页的信息非常多,我们要显示购买的商品信息、还有用户的等级、积分、能用的优惠券、价格、剩余的库存、支付方式等等,有的还有一些搭售的商品,具体还有怎么选择最优的组合方式,搭售商品的展示逻辑等等。

提单页涉及到的接口可谓是复杂的变态,而且QPS还高,通常这个界面的逻辑会由专门的导购服务来做聚合,当然也有的是让交易本身做这个聚合的逻辑,不过我认为由导购的服务来聚合更为合理一点。

其他的变化都比较好说,单纯的调用其他服务的接口应该就可以满足,由于这个界面的QPS会非常高,所以要做好熔断降级的措施,对于非主链路的服务在高并发的时候该降级的就一定要降级,绝对不能拖累到主链路的下单流程。

这里搭售单其实是一个比较复杂的部分,这个实现方式一般是用子订单的形式来实现,也有的实现方式是一个独立的平行订单,还有的是独立到另外一个服务,具体实现方式不做评价,但是复杂是真的复杂,几个订单交杂在一起,要保证最终下单一致性,必须都下单成功,而且对于支付来说合并支付、逆向退款也是非常复杂的一件事情。

提单页之后,就进入到真正的下单支付环节,下单的流程对于不同的业务来说可能不太一致,能力支持到位的话借助流程编排可能稍微轻松一点,反之为了兼容多种不同的业务必然需要抽象出足够通用的逻辑,但是这样也会使得简单的业务变得更加复杂。

而如果为了图简单,全部都是if else的话,也能快速搭起来架子,但是后续承载更多不同业务场景将会变得无比被动。

所以中台的能力应该是对现有的业务足够清晰之后再做的抽象,而不是啥也没有上来就要干塔喵的中台。

逆向交易

通常的考量肯定是要闭环的,这个词倒是很好,包括我们平时做设计方案的时候肯定也是如此,光进不出的那是貔貅,众所周知,貔貅是没有菊花的,难受。

订单的取消、退款更多的时候和支付的交互,对于复杂的业务逻辑,存在各种优惠券、红包、积分、会员权益扣减一大堆的就会让支付变得非常复杂。

支付的时候很爽,反正传参就完了,真正到了退款的时候,对于各种不同类型的权益使用、分润规则将会导致退款非常难,对于支付来说这一部分的能力并不好抽象,更多的计算的逻辑还是会被交易承载。

履约

履约一般而言异步的形式会比较更好一点,下单后发放积分、优惠券、红包属于履约,之后安排配送、发货、签收也都属于履约。

通常的形式是监听下单或者支付成功的消息,消费之后调用下游服务的接口,只要调用成功就代表履约成功,履约的最终成功应该由下游服务来保证。

当然,对于比如复杂的履约流程,涉及到物流配送等,那就不是这么简单了。


很多JVM的底层技术细节你是否只了解表面?

面对JVM Crash或性能调优方面的问题时你是否会束手无策?

面对上层Java应用发生的偏离预期的行为是否会不知所措?

·················END·················

本文分享自微信公众号 - 艾小仙(aixiaoxianren),作者:艾小仙

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-04-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 浅谈数据中台

    数据中台的概念最是阿里提出来的是为了实现数据的分层和水平解耦,提供数据服务能力。看了那么多中台的概念,对中台也有些自己的理解。笔者认为中台主要是为了提供全域的数...

    数据社
  • 去中心化交易所 BitShares 浅谈

    这是「区块链技术指北」的第 11 篇文章。 如果对我感兴趣,想和我交流,我的微信号:Wentasy,加我时简单介绍下自己,并注明来自「区块链技术指北」。同时我会...

    robinwen
  • 微服务架构在二手交易平台(转转)中的实践

    孙玄@奈学教育
  • 谈谈我心目中的微内核架构

    微内核是提供操作系统内核基本核心功能功能的操作系统版本。简单的说就是只提供操作系统的核心部分,比如任务调度,ipc,还有一些基本的内存管理。而其他的功能都是作为...

    bigmagic
  • 谈谈微服务架构中的原子性

    那么在分布式数据管理的过程中,怎么保证原子性呢? 试想有这样一个场景,微服务1 中需要更新数据,同时发布一个数据更新的事件到服务2,那么在执行这个事务的过程中,...

    lyb-geek
  • 谈谈几种去中心化币币交易所的优缺点

    回顾加密货币的发展历程,凭借"安全可靠,难于追踪,去中心化"的优点受到全世界的追捧。全球加密货币总市值超过3000亿美金,成为新经济的标志。

    GAIAWorld
  • 中台架构是什么

    优点如下: 部署简单: 由于是完整的结构体,可以直接部署在一个服务器上即可。 技术单一: 项目不需要复杂的技术栈,往往一套熟悉的技术栈就可以完成开发。 用人成本...

    cloudskyme
  • 技术中台之移动平台安全架构设计

    众所周知,移动信息安全一直以来都是大家关注的焦点,工业和信息话部近年来也在大力整顿移动App对于个人信息的违规采集。2020年新冠肺炎的爆发,很多公司都采用远程...

    yuanyi928
  • 说透中台(落地篇三)--学习笔记

    交付的第一步一定是要组建一支有战斗力的队伍,中台的建设需要的能力与传统产品还是有比较大的差别。

    郑子铭
  • 浅谈企业IT技术运营中台

    如果你是IT圈内的人,在2月份,你的朋友圈里面最火的词应该就是“中台”了,我们在此不讨论企业的技术中台、数据中台、AI中台、业务中台,想和大家讨论一下IT技术运...

    嘉为科技
  • 图解中台架构 | 有了中台,那后台还剩下什么?

    导读:本文是对中台架构发展至今的一个简短回顾,并介绍企业中台的典型业务架构,希望各位读者对于中台的理念有一个基本的了解。

    xcbeyond
  • 浅谈全区全服架构的SNS游戏后台

    首所有游戏服务器都有玩家数据库,如果以数据库为单位划分Set,单Set如果能承载超过10万的同时在线,可以认为是全区全服的游戏,10W以下可以认为是分区分服的。...

    梁本志
  • 浅谈跨平台框架 Flutter 的优势与结构

    目前,移动开发技术主要分为原生开发和跨平台开发两种。其中,原生应用是指在某个特定的移动平台上,使用平台所支持的开发工具和语言,直接调用系统提供的API所开发的应...

    个推
  • 读《中台架构与实现》

    最早是在极客时间知道欧创新老师的,我也是他的课程《DDD实战课》的订阅者,后来欧老师基于这门课程做更多的实践与思考,完成了《中台架构与实现:基于 DDD 和微服...

    oec2003
  • 构建基于ServiceMesh的中台架构

    微服务架构中,随着数据量不断增大,吞吐量不断增加,业务越来越复杂,服务的个数会越来越多,分层会越来越细,除了数据服务层,还会衍生出业务服务层,前后端分离等各种层...

    架构师之路
  • 从概念到成功落地,技术大咖分享云基础架构最前端技术

    “ “第七届中国云计算标准和应用大会”作为国内云计算领域的重要会议之一,得到了国家工信部、国标委等指导单位的高度重视和大力支持,旨在对中国云计算产业标准制定与应...

    企鹅号小编
  • ArchSummit深圳2019与会笔记

    有幸参加今年ArchSummit深圳站,这次大会囊括了 微服务后时代、技术中台、云计算 云原生、ToB技术转型、小程序开发、AI应用算法实践 等多个当前业内最火...

    王昂
  • 浅谈跨平台框架 Flutter 的优势与结构 顶

    目前,移动开发技术主要分为原生开发和跨平台开发两种。其中,原生应用是指在某个特定的移动平台上,使用平台所支持的开发工具和语言,直接调用系统提供的API所开发的应...

    个推君
  • IM开发基础知识补课:正确理解前置HTTP SSO单点登陆接口的原理

    一个安全的信息系统,合法身份检查是必须环节。尤其IM这种以“人”为中心的社交体系,身份认证更是必不可少。

    JackJiang

扫码关注云+社区

领取腾讯云代金券