❝「尺有所短,寸有所长;不忘初心,方得始终。」
❞
「中台是企业级能力复用平台,本质上是企业的业务模型」。企业级能力往往是前台、中台、后台协作能力的体现。前面提到了前中后台职责的定位,
前台主要面向客户以及终端销售者,实现营销推广以及交易转换。 中台主要面向运营人员,完成运营支撑。 后台主要面向后台管理人员,实现流程审核、内部管理、后勤支撑,比如采购、人力、财务、OA等系统。
基于此,中台也会被具体划分,不同的中台提供不同的企业级能力。
一、中台能力总体框架
中台能力总体框架主要由为「业务中台,数据中台,技术中台」组成,通过不同中台之间相互协助提供服务于企业场景不同能力。
以上架构图从业务、数据、技术,组织四个方向体现了中台提供的能力
「业务能力」 中台领域模型的构建能力 对领域模型的持续演进能力 企业级业务能力的复用,融合和产品化运营能力 速响应市场的商业模式创新能力 「数据能力」 企业级的数据融合能力、数据服务能力 对商业模式创新和企业数字化运营的支撑能力 「技术能力」 对设备、网络等基础资源的自动化运维和管理能力 对微服务等分布式技术架构体系化的设计、开发和架构演进能力 「组织能力」 一体化的研发运营能力和敏捷的中台产品化运营能力 快速建设自适应的组织架构和 中台建设方法体系等方面的能力。
二、业务中台
「业务中台是具备业务属性并支持多种业务属性的共性能力集合,以实现企业级业务能力的复用,提升业务快速响应能力为目标。」
从广义上来说,「一切的中台都是业务中台,它们源自业务并服务于业务。」
具像的描述,「业务中台一般指在线业务为典型特征的中台。」
❝
比如一些电商平台的通用业务中心:商品系统、订单系统、评价系统、营销中心、物流中心,支付中心等系统「具有通用性的业务系统的集合。」
❞
业务中台的应用场景 业务中台适用于涉及领域比较多,需求变化快,业务逻辑复杂的场景。 业务中台的建设就是面向众多的业务系统,提取出它们共有业务系统的集合进行重复利用,减少用户中心、订单中心、售后服务中心等通用系统的重复开发,帮助业务系统实现快速的开发,满足业务查询等业务需求。
三、数据中台
数据中台:实现数据的分层与水平解耦,沉淀公共的数据能力:
主要作用就是「提取各个业务的数据,统一标准和口径,通过数据计算和加工为用户提供数据服务。其核心就是构建一个共享数据服务体系」。 企业级的数据中台一般包含「数据模型存储、数据资产管理、对外提供数据服务、数据更深层次的分析挖掘等各方面过程」。
数据中台支撑着前台应用,细分之下有采集,计算,运营等主要作用:
通过上面这张业务架构图,在数据中台建设中我们应该关注三个方向:「数据模型、数据服务与数据开发」
「数据模型」
通过数据建模构建企业级数据标准指标体系,解决数据来源多元化和标准不统一的问题,实现跨域数据整合和沉淀。
「数据服务」
通过数据服务实现对于数据的封装和开放,快速、灵活满足前台应用的要求,构建支持前台一线业务的数据中台。
「数据开发」
通过数据服务实现对于数据的封装和开放,快速、灵活满足前台应用的要求,构建支持前台一线业务的数据中台。
「总结」:数据中台支撑着前台应用,解决数据开发和应用开发不同步的问题,通过构建一个统一的数据体系,将其转化为数据开发的能力,实现数据服务的可重用性。
四、技术中台
「技术中台是业务中台建设的基础,业务中台的落地需要有很多的技术组件支撑,这些不同领域的技术组件组成了技术中台」。而业务中台一般业务量,访问量都会很庞大,「为了以保障系统高可用性,有效应对高频海量业务访问场景,业务中台大多采用微服务架构」。所以技术中台一般都是微服务相关的技术组件。
技术中台架构图:
以上架构图主要呈现了技术中台的组成:
「API 网关」
「主要包括鉴权、降级限流、流量分析、负载均衡、服务路由和访问日志等功能」
微服务架构一般采用前后端分离设计,前后端独立开发、独立部署,通过网关实现前后端集成。 「【前台应用】接入中台微服务的技术组件一般是API网关」。API网关可以帮助用户,方便地管理微服务API接口,实现安全的前后端分离,实现高效的系统集成和精细的服务监控。 「开发框架」
前端开发框架:Vue、React 微服务开发框架:SpringCloud 「微服务治理」
「微服务治理主要应用于微服务运行状态监控、运行异常时的治理策略等场景,保障微服务在常见异常场景下的自恢复能力,使其能够持续稳定运行。」
微服务治理技术组件:
「服务注册」 「服务发现」 「服务通信」 「配置中心」 「服务熔断」 「服务容错」 「微服务监控」 「分布式数据库」
「分布式数据库具有较强的数据线性扩展能力,采用数据多副本机制实现数据库高可用」。分布式数据库包括三类:
「交易型分布式数据库」
用于解决交易型业务的数据库计算能力,支持数据分库、分片、数据多副本,具有高可用的特性,提供统一的运维界面,具备高性能的交易型业务数据处理能力。
❝
主要应用于具有跨区域部署和高可用需求,需支持高并发和高频访问的核心交易类业务场景。
❞「分析型分布式数据库」
通过横向扩展能力和并行计算能力,提升数据整体计算能力和吞吐量,支持海量数据的分析。
❝
主要应用于大规模结构化数据的统计分析、高性能交互式分析等场景,如数据仓库、数据集市等。
❞「交易分析混合型分布式数据库」
通过资源隔离、分时和数据多副本等技术手段,基于不同的数据存储、访问性能和容量等需求,使用不同的存储介质和分布式计算引擎,同时满足业务交易和分析需求。
❝
主要应用于数据规模大和访问并发量大,需要解决交易型数据同步到分析型数据库时成本高的问题,需要解决数据库入口统一的问题,需要支持高可用和高扩展性等数据处理业务场景。
❞「数据处理组件」
提高应用性能和业务承载能力,降低微服务的耦合度,技术中台引入了许多基础技术组件。
「分布式缓存」
将高频热点数据集分布于多个内存集群节点,以复制、分发、分区和失效相结合的方式进行维护,解决高并发热点数据访问性能问题,降低后台数据库访问压力,提升系统吞吐能力。如:Redis。
「搜索引擎」
解决大数据量的快速搜索和分析等问题,提供可扩展和近实时的搜索能力。
「数据复制」
实现不同数据库间或跨数据中心间的数据同步。主要应用于基于表或库的业务数据迁移、业务数据向数据仓库复制等数据迁移场景。
❝
数据复制技术组件大多采用数据库日志捕获和解析技术
❞「消息中间件」
适用于「数据最终一致性」的业务场景,通过削峰填谷的设计提高业务吞吐量和承载能力。通过【高内聚,松耦合】的设计原则实现微服务之间的解耦。如:Kafka,rabbitMq,rocketmq
「分布式事务」
解决「分布式架构下事务一致性」的问题,基于分布式事务模型,保证跨数据库或跨微服务调用场景下的数据一致性。「分布式事务是实时保证数据的一致性的,会导致系统性能下降」,所以一般优先采用基于消息中间件实现最终数据一致性机制,尽量避免使用分布式事务。
五、研发运营
「研发运营一体化(DevOps)」
通过组织协同、流程优化和工具平台三者结合,基于整个研发运营团队进行组织协作优化,将软件需求、开发、测试、部署、运维、和运营相关流程统一起来,实现项目管理、开发测试、持续交付和应用运营的无缝集成,快速交付高质量的软件和服务。
「全链路监控」
「应用日志监控」
通过日志采集、集中存储、实时检索、统计分析等,利用计算引擎对日志数据处理,快速定位问题。
「服务链路通用监控」
用于跨服务之间的调用链路监控,通过捕获调用链路上每次服务调用的性能指标,分析应用的整体局部性能,达到快速定位到性能瓶颈点,缩短问题排查时间的目的。
「基础资源监控」
以服务器、网络设备等基础资源为中心的监控方式,建立基础层运维的专业技术体系,提高运营效率,保障设施的高可用,为系统扩容、规划等提供权威的数据支持。
六、云中台
云平台一般会有云服务,云运营和云运维三个基本管理能力
「云服务」
IaaS 层基础资源云服务化是将计算、存储、网络等IaaS层基础资源完成云服务化,实现基础资源的统一管理、快速扩容、统一调度和自动分配。 PaaS 层技术组件云服务化是基于K8S、容器等云原生技术,将数据库、微服务等PaaS层技术组件完成云服务化。 SaaS 层基于应用软件将应用组件通过网页或者接口的形式完成服务化。 「云运营」
提供租户管理、服务目录管理、流量管理和计量计费等运营所需的云平台日常管理能力。
「云运维」
提供云平台日常运维的各种能力,包括服务水平管理、容量管理、权限管理、日志管理、监控告警和报表分析等。