对于中台的思考

389 阅读4分钟

什么是中台?

按照百度百科的解释:“中台,互联网术语,一般应用于大型企业。一般是指搭建一个灵活快速应对变化的架构,快速实现前端提的需求,避免重复建设,达到提高工作效率目的。”

主要核心就是灵活应对快速变化的需求,避免重复建设,提高工作效率。

个人理解

有中台,那么就有前台,后台。根据中台相关文章,可以看出中台产生的理由其实就是复杂的系统需要分层,就像网络协议。那么网络协议有五层的,也有七层的。一般用五层的。也就是说,前后台不一定比前中后台差。

为什么还需要加个中台?是因为业务的复杂度上升,如果业务复杂度不够,不能盲目增加中台,要按照业务实际的情况出发。因为我接触的业务并没有过于复杂,所以以下是我个人的思考,并没有明确使用过中台。

微服务和中台的关系?

在微服务的角度来说,中台就是微服务的一种实现,这种实现适用于复杂系统,需要服务细分的粒度比较高。融合在一起就是微服务中台。

对于如何演进到微服务架构的,有很多文章,有共同点也有不同点,不在赘述。按照我的理解进行阐述。一个服务究竟是怎么才叫微服务,根据拆分的粒度划分。但粒度达到什么程度才被称为微服务,这点挺模糊的。我认为根据业务来,对于当前业务来说,只要粒度合适的都叫微服务,通过是否能灵活应对快速变化的需求,避免重复建设,提高工作效率来判断。没必要进行过度的捉字眼。

微服务有底层微服务,例如kafka,mysql等等。还有基础微服务,例如用户服务,权限服务等。还有门面微服务。分层为:门面微服务-->基础微服务-->底层微服务。忽略掉底层微服务,那么门面微服务就是前台,基础微服务就是后台。这种前后台已经可以解决很大部分的需求了,加上中台,我认为是为了解决其他问题。

微服务中的单位是接口,基础微服务为了控制接口的数量,且不被业务绑架,需要保证接口的通用性,经常会写成多个参数,最后实现是拼接sql的一种情况。那么,对于门面微服务来说,有可能只用到几个参数,其他参数都设置为null,看起来就觉得很异常。

如果有中台,让后台专注于与数据打交道,让前台专注于业务。中台去承受这一切,看起来就完全不同了。中台可以定义多个接口,灵活的提供给前台,让前台专注于与业务打交道。中台去组装后台接口,让后台专注于与数据打交道。

业务和中台的关系?

在业务的角度来说,细分业务,避免业务干重复的事情,提高业务实现的效率。融合在一起就是业务中台。

举个例子,客户使用app,客户就是前台。开发人员开发app就是后台。客户不懂技术,技术人员不能完全理解客户提出的问题,总是在技术的层面思考。如果要求客户都懂技术,每个技术的理解能力都很强,客观来说有点困难。中间增加客服,客户就能专注于使用app,反馈建议给客服,客服记录建议,技术人员专注去实现app功能。抽象成功能,前台提供建议反馈的业务,中台提供建议分类的业务,后台处理建议,决定采纳还是驳回。

总结

中台是分层的思想,复杂业务才需要中台。核心是灵活应对快速变化的需求,避免重复建设,提高工作效率。前台有业务的专一性,中台保证灵活性,后台保证通用性。灵活应对快速变化的需求由中台保证,避免重复建设由后台保证。