中台和微服务(200609)

今天整理和总结下中台和微服务的区别和联系。

对于这两个概念,我们可以看到在企业IT架构转型过程中经常会出现的两个概念。很多时候我们也会把两个概念混用,既中台就是微服务,或者说微服务就是中台。但是实际上两者本身还是有区别。

也可以看到在谈中台的时候更多的是业务层面用词,而谈微服务的时候更多是技术层面用词 。在谈中台的时候你首先考虑的是业务模块如何划分,服务如何识别,而实现技术是微服务。而谈微服务的时候本身就是技术实现和架构方法,是否一定用于中台倒不是必须。

因此要回答两者区别这个问题,我们首先还是要看下中台和微服务这两个概念是针对什么来说的。

中台:说中台一定会说到前台,原来是中台前台不分,现在是拆分为中台和前台。

微服务:说微服务一定说单体应用,原来应用粒度太大,要垂直拆为更小的微服务。

这个搞清楚后,我们就更加容易理解两个概念的区别,即:

中台更多的是指横向拆分,即共性业务能力的下沉,然后再将服务能力开放给前台应用使用。而微服务更多是技术用词和软件架构开发方法,强调的是大单体要拆分和进一步解耦。

而我们现在构建企业中台,基本是中台和微服务都会使用到,即既需要进行横向拆分,共性能力下沉。同时对于下沉的共性能力又需要按微服务思想进一步拆分多个微服务模块。在中台思想里面更加强调了共性能力下沉和能力开放,能力开放以微服务里面常见的轻量API接口方式进行。

了解了这个我们看区别就比较清楚了,具体如下:

中台强调横向拆分和分层,微服务强调纵向拆分和解耦。

中台的构建不一定要采用微服务,也可以采用传统IT架构进行构建,只要满足共性业务能力下沉要求即可。类似我们传统架构里面的MDM主数据系统,按现在微服务思想应该拆分多个服务,但是即使没拆,我们仍然可以理解为是企业中台建设思路。中台里面还含了数据中台,数据中台构建本身就不能按微服务思路做。

对于中台构建可以用微服务,对于前台应用构建同样可以采用微服务。对于一些大的前台应用如果不能复用,那么也需要拆分为多个微服务进行解耦。

中台强调能力开放,微服务不强调共性能力开放,但是提供API网关工具进行能力开放。中台建设的目标更多的是下沉共性能力,识别和暴露可复用的API能力接口,供前台应用快速开发和组合,这才是中台构建的目的。而对于微服务来说,更多强调的是单体应用进一步的拆分和解耦,并通过轻量API接口高效协同,只要满足这个要求本身就是微服务思想实现,