今天再简单谈下传统企业IT架构朝微服务架构转型过程中的中台的概念。
中台这个概念最早也是在阿里的互联网架构中提出的,对应中台还有一个概念即中心化。有很多人问我中心化的实践方法,当时我还比较纳闷,互联网架构谈的更多的都是去中心化的架构思想,怎么又会出现中心化这个概念。后面经过了解,这个中心化正是指的阿里中台概念里面,下沉到中台里面实现的各个中心,例如产品中心,订单中心,客户中心,库存中心等等。因此今天要谈下中台和中心化里面的一些重要内容。
首先中台里面的各个中心正是各个独立松散耦合的微服务模块,只是这里的各个中心会体现一些特点:
1. 中心是以提供和共享数据和业务能力为主,而不是以提供前端应用功能为主。
2. 中心更多是原来的领域服务层+API接口服务暴露为主。
3. 中心的形成更多是传统应用涉及到的共享业务和数据部分能力的下沉,在能力下沉后再开放共享。
在这个初步理解清楚后,接着需要重点考虑的问题就是中台中的各个中心如何识别和定义,由于对于电商类应用构建,我们往往参考阿里当前架构设计中的中心拆分方法即可,那么对于企业围绕ERP信息化的各个业务系统,或者传统企业IT的转型,究竟如何规划中台,如何定义各个中心,以及如何规划各个中心的粒度和复用性?
如何定义中台中的中心,这可以从三个层面去考虑各个中心的定义和识别。
,如对于供应商,客户等主数据可以定位为供应商中心,客户中心。对于采购订单,合同,项目等核心共享数据可以定义为订单中心,合同中心,项目中心等。这种中心所有的功能都围绕核心主数据和共享数据展开。例如订单中心,所有功能目的都是最终形成正式和生效的订单,包括前面的采购申请,请购单等都会为最终形成的订单服务。
其二:围绕核心业务展开进行中心的定义 ,对于企业在进行共享服务中心转型过程中,很多中心都类似该思路建立,比如采购服务中心,财务共享中心,人事共享服务中心,招投标中心等,在这种中心的定义中更加强调了核心业务能力,而不是专门去强调核心业务能力最终形成的业务对象和数据。
其三:基于数据和业务类构建的中心外,还有一类就是以核心业务规则和逻辑构建的中心 ,这类中心本身不会沉淀核心的业务主数据和共享数据,而重点是业务规则和逻辑的实现,最典型的例子包括了计费中心,调度中心,规则中心等,这些都是实现核心业务逻辑处理为主的中心。
要注意到对于中台中的中心本身也是分层的,最下层更多的是数据类的中心,再上层是业务类+规则类的中心,再上层则是可能跨越多个中心能力组合来实现的流程类中心,比如客户服务中心,流程处理中心等,这些中心重点是组合底层中心提供的服务能力,有点类似SOA中的服务组合和流程编排。因此这类中心很可能自己Owner的数据库很轻,或者根本就没有,一定要注意这点变化。
另外还要注意,各个中心本身不仅仅是提供共享服务API能力,本身也可能是有独立的应用和前端,即中心本身提供前端应用功能,同时又预留足够的外部API接口,可以和外部其它应用进行协同。这是我们对中心的另外一个关键理解。
来源: http://www.tuicool.com/articles/ZbQ3aeV