中台是一个非常宽泛的概念,可以是技术平台,比如框架、devops平台、容器云之类的,也可以是业务平台,像用户中心、订单中心、各种微服务集散。
为什么需要中台?
中台的产生可能是高层的战略设计,也可能是公司不断膨胀而暴露出来的种种问题需要被解决。
中台一开始诞生于16年阿里提出的“大中台,小前台”概念,中台的价值是以快速响应需求为依切,中台并不是一开始就有的,而是基于“前台+后台”的架构发展演变的
前台:系统的前端平台,是直接与终端用户进行交互的应用层,比如日常使用的app,h5(html5 通常用来写移动端的前端和web的前端),pc端都是属于前台
后台:后台是指系统的后端平台,终端用户无法感知,提供后端服务
因为用户的需求是会高速变化的,而用户需求的变化决定了前台系统需要快速迭代响应用户需求,而前端的变化又需要后端的变化来进行支撑,这就对后台的快速应变提出了要求,而后台的核心目的并不是服务于前台,而是提升后端数据的安全及系统的管理效率
于是就产生了“前端为了用户需求,期望系统不断的快速迭代”与“后段为了数据安全与系统稳定,期望系统趋于稳定”的矛盾局面,为了解决这一矛盾,架构师们创造性的提出了“中台”这一概念,核心就是将后台的逻辑层进行拆离,形成前端(应用层)-中台(逻辑层)-后台(数据层)的产品架构,在这一架构下,当前端需求出现时,中台能够快速的进行响应,从而提升了研发效率,降低了创新成本
阿里中台战略最早从业务中台和数据中台建设开始,采用了双中台的建设模式,到后来发展出了移动中台,技术中台和研发中台等等。
业务中台
一般是指支持企业线上核心业务的中台,承载了核心业务能力,实现企业级业务能力复用和各业务板块之间的联通和协同
数据中台
与业务中台相辅相成,共同支持前台一线业务,大部分数据来源于业务中台,经过数据建模和数据分析等操作之后,将加工后的数据返回业务中台为前台应用提供服务,或者直接以数据类应用的方式向前台应用提供api数据服务,一般包括数据采集、数据生成、数据治理、数据应用以及数据仓库或大数据等技术应用
技术中台
业务中台落地的时候需要很多的技术组建来支撑,这些不同技术领域的技术组建就组成了技术中台。比如一些业务关键技术的组件
- api网关
- 开发框架
- 微服务治理
- 分布式数据库
- 数据处理组件
api网关
前后端分离,通过网关实现前后端集成,api网关主要包括:鉴权、降级限流、流量分析、负载均衡、服务路由和访问日志等功能。api网关可以帮助用户方便地管理微服务api接口,实现安全的前后端分离,实现高效的系统集成和精细的服务监控
开发框架
开发框架主要包括前端开发和后端微服务开发框架,支持代码自动生成,本地调试和依赖管理等功能
微服务治理
服务治理是在为服务的运行过程中,针对微服务的运行状况采取的动态治理策略,如服务注册、发现、限流、 熔断和降级等等,以保障微服务能够持续稳定的运行
治理主要应用于微服务运行中的状态监控、微服务运行异常时的治理策略配置等场景,保障微服务在常见异常场景下的自恢复能力
分布式数据库
分布式数据库一般都具有较强的数据线性拓展能力,它们大多采用数据多副本机制实现数据库高可用,具有可拓展和低成本等技术优势,一般分为三类:交易型、分析型、交易分析混合型
- 交易型:用于解决交易类业务的数据库计算能力,支持数据分库、分片、数据多副本,具有高可用的特性,提供统一的运维界面,具备高性能的交易型业务处理分析能力。
- 分析型:通过横向扩展能力和并行计算能力,提高数据整体计算能力和吞吐量,支持海量数据的分析
- 混合型:通过资源隔离、分时和数据多副本等技术手段,基于不同的数据存储、访问性能和容量等需求,使用不同的存储介质和分布式计算存储,同时满足业务交易和分析需求
数据处理组件
为了提高应用性能和业务的承载能力,降低微服务的耦合度,实现分布式架构下的分布式事务等要求,技术中台还有很多数据处理相关的基础技术组件。如分布式缓存、搜索引擎、数据复制、消息中间件和分布式事务等技术组建