海量并发高度扩展的交易中台架构设计与实践——阿里云 MVP孙玄-阿里云开发者社区

开发者社区> 云起君> 正文

海量并发高度扩展的交易中台架构设计与实践——阿里云 MVP孙玄

简介: 阿里云MVP,奈学教育CEO孙玄为大家带来海量并发高度扩展的交易中台架构设计与实践的介绍。内容包括中台模式和微服务架构的关系,海量并发的业务中台架构如何设计与实践,以及秒级新业务接入的交易中台如何设计和实践。
+关注继续查看

快速成为顶级架构师的内功修炼

查看直播——海量并发高度扩展的交易中台架构设计与实践

一、中台模式和微服务架构的关系

首先讲讲中台模式是怎么来的。在很早之前,芬兰的一家非常著名的游戏公司叫Supercell。

这家公司在开发游戏的时候,能以非常快的速度开发出一个游戏。这个游戏其实就是一个业务。

这个业务之所以能够开发出来,一定会有一些公共的东西来进行赋能和支持。

Supercell以小前台的方式组织了若干个开发团队。每个团队包含开发一款游戏所需的各种角色,可以快速决策、快速开发。基础设施、游戏引擎、内部开发工具和平台则由类似 “部落” 部门提供。部落可以根据需要扩展为多个小分队,但各个小分队都保持共同的目标。部落本身并不提供游戏给消费者,它只提供一些能力,赋能给你的前台业务。这里说的部落,在我看来其实就是一个中台。**游戏本身就是小前台。
**
image.png

对于任何一家公司而言,中台可以分为技术中台,业务中台,算法中台和数据中台。

今天我们主要讲业务中台。业务中台的落地,可以采用单体架构,微服务架构等等。大家可以看到,微服务架构仅仅是业务中台落地的一种典型技术架构实现方式。

二、海量并发的业务中台架构如何设计与实践

今天我们要讲整个的业务中台,它是基于微服务架构的方式实现。在微服务架构模式里面,哪些是属于你的业务中台,哪些属于你的前台,哪些是公共的,哪些是个性化的东西,我们要把它区别出来,这是一个很关键的因素。

微服务架构分为几部分。

第一部分是网关层。很显然它就做一些和网关相关的事情。比如说通用参数的一个检查,路由的一些转发,协议的一些转化。它是一个服务的概念。

第二部分是业务逻辑层。对于电商来说,一定会有自己的业务层。比如说,APP有APP的业务逻辑,小程序也有小程序专门的一些业务逻辑,但它们都要有一个商品发布逻辑层。它属于第三部分,公共逻辑层。在这一层里面,把一些公共的东西全部下沉下来,沉淀在这一层里面。

第四部分是数据访问层,包括商品数据访问层,搜索数据访问层,推荐数据访问层,交易数据访问层。

第五部分是持久化层。每一层都是由一个服务构成,当然,每一层可能有多个进程,这就是整个的业务架构逻辑。

在这个架构里面,除业务逻辑层以外,其他属于中台。具体来说,公共逻辑层,网关层,数据访问层是业务中台。持久化层,注册中心,配置中心,是技术中台。而业务逻辑层则属于业务前台。我们可以通过这样的方式来构建业务架构逻辑。

image.png

构建完以后,我们把业务层面公共能力下沉为服务,并做好服务连接。做好公共服务的全连接,使得前台业务一键接入

举个例子,现在来了一个APP,那么它最终需要接入的中台是比较多的,比如说你的网关层,你的公共逻辑层,数据访问层,我们能不能做到业务中台设计的时候能让业务很方便的去接入。另外一块,做好公共服务的一个全连接,它有很多的服务,商品的列表页,商品的详情页,商品的发布服务,搜索服务,推荐服务等等。新的一个业务,要去接入这些服务的话,其实是非常繁琐的。

我希望你这时候能给我一个proxy,帮我去连接好这些东西。我的业务接入的时候,一键接入 proxy就好了,这样的话,业务接入的成本是非常低的。

所以在这种情况下,首先,得对你的业务做一个标识,做一个ID化。标识的目的是让你做一个标准化,有了标准化以后,接下来接入的时候,你的整个业务只需要完成一个填空题就好了。怎么样做一个ID标识,往往可以给你的业务做一个三级的分类。

比如说,一级业务是电商,二级业务是手机,三级业务是好货。当然,你最终需要几级体系,取决于你的业务特点的需求。这是一套标准化的东西,我们要去构建这样的一二三级的一个业务。我们也是按照这样的思路去构建我们的这样一个生态。

image.png

三、秒级新业务接入的交易中台如何设计和实践

交易中台有很多流程,或者说很多状态。比如说,已支付,已发货,退款,拒绝退款等等。在这种情况下,我们如何方便地让多个业务接入。

多个业务之间有一个28原则,可能80%的流程都是公共的,只有20%的流程是有差异的。在这种情况下,交易的流程该怎么去设计,是一个比较好的问题。如下图所示,以电商订单状态为例,退款在发货前和发货后,流程完全不同。

image.png

相似业务有两套业务流程,这种情况是很常见的。在业务初创期,可以硬编码,通过IF和ELSE语句定制化链路,分别针对不同的流程。

image.png

随着业务量越来越多,复杂度会很大,定制化链路不一定可行。在这种情况下,我们要运用架构设计的哲学:抽象。可以对业务场景做一个抽象:状态和动作。于是,一个新的解决方案应运而生,有限状态机(FSM):有限状态以及在状态之间转移和动作等行为的数学模型。于是,可以定义交易中台普适的FSM,定义状态机的一个框架,以及抽象业务场景的状态角色。首先,有两个状态,一个是初始状态,一个是目标状态。初始状态和目标状态之间有转移关系。第二,定义角色。不同角色有不同的操作权限,比如卖家、买家、系统、客服。第三,定义操作,对应事件。第四,定义Handler,事件操作相应的Action实现。其中,一个事件定义为:角色A,在初始状态S1下,执行OP1操作,将使用handler来处理业务逻辑,执行成功将状态设置为目标状态S2

image.png

定义状态机框架以后,接下来就是FSM的落地。本质上是一个状态转移表的定义。如下图所示,状态转移表里面有这样几个角色。第一个是op_type,代表具体的一个操作,只不过我们把这些action变成了一个具体数字。第二个是role,代表你是买家,卖家,还是客户。第三个是source_status,即源状态。第四个是target_status,即目标状态。第五个是handler,代表从源状态到目标状态以后要执行什么操作,比如说拒绝订单的行为。

如果你是Java生态的,可以通过Spring State Machine框架来实现。如果你是其他语言的,可以通过其他语言的框架进行实现。假设我们现在已经有了这样一张表,当一个新的业务需要接入的时候,只需要配置状态转移表,以及新handler业务处理的编写,基本上可以秒级完成业务接入。

image.png

回到刚才C2C的交易和B2C的交易,假设我们已经有了中台能力,通过中台FSM能力,只需要把状态图画出来,相应的状态流转表的配置就有了。handler只需要关注当前操作的业务逻辑,极大的解耦状态和业务。所以实际过程中,不用去烦恼具体的一些事情。

image.png

关键词:微服务架构,中台模式,业务中台,交易中台,有限状态机

快速成为顶级架构师的内功修炼

查看直播——海量并发高度扩展的交易中台架构设计与实践

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
更高效地提高redis client多线程操作的并发吞吐设计
Redis是一个非常高效的基于内存的NOSQL数据库,它提供非常高效的数据读写效能.在实际应用中往往是带宽和CLIENT库读写损耗过高导致无法更好地发挥出Redis更出色的能力.下面结合一些redis本身的特性和一些client操作上的改变来提高整个redis操作的交通.
751 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
10076 0
高并发架构系列:如何从0到1设计一个MQ消息队列
消息队列作为系统解耦,流量控制的利器,成为分布式系统核心组件之一。 如果你对消息队列背后的实现原理关注不多,其实了解消息队列背后的实现非常重要。 不仅知其然还要知其所以然,这才是一个优秀的工程师需要具备的特征。
2126 0
高并发服务器框架设计方案
这样的框架存在一个很严重的问题,当客户端高并发请求到来,服务器需要进行大量的数据库操作,假设数据库最大连接数为1000个,此时有10000个请求访问应用服务器
1252 0
更高效地提高redis client多线程操作的并发吞吐设计
Redis是一个非常高效的基于内存的NOSQL数据库,它提供非常高效的数据读写效能.在实际应用中往往是带宽和CLIENT库读写损耗过高导致无法更好地发挥出Redis更出色的能力.下面结合一些redis本身的特性和一些client操作上的改变来提高整个redis操作的交通.
906 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13883 0
C#高性能大容量SOCKET并发(四):缓存设计
原文:C#高性能大容量SOCKET并发(四):缓存设计 在编写服务端大并发的应用程序,需要非常注意缓存设计,缓存的设计是一个折衷的结果,需要通过并发测试反复验证。
976 0
+关注
云起君
行到水穷处,坐看云起时!
182
文章
31
问答
来源圈子
更多
阿里云最有价值专家,简称 MVP(Most Valuable Professional),是专注于帮助他人充分了解和使用阿里云技术的意见领袖阿里云 MVP 奖项为我们提供了这样一个机会,向杰出的意见领袖表示感谢,更希望通过 MVP 将开发者的声音反映到我们的技术路线图上。
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载