中台是什么?

中台的定义

来自阿里官方的定义,“企业中台就是,将企业的核心能力随着业务不断发展以数字化形式沉淀到平台,形成以服务为中心,由业务中台和数据中台构建起数据闭环运转的运营体系,供企业更高效的进行业务探索和创新,实现以数字化资产的形态构建企业核心差异化竞争力。”

阿里的中台大约有十几个共享业务单元,包括用户中心、商品中心、交易中心等。淘宝、天猫、聚划算等 25 个大型业务应用都是由中台的共享业务单元支持的,共享业务单元则由阿里云平台支持。

共享业务单元的划分原则其实不是可以简单掌握的,要综合考量设计、运营和工程因素,尽可能遵循“高内聚、低耦合”、“数据完整”、“业务可运营”和“渐进”的原则。

阿里在划分中台时非常重视其业务价值和基于业务的设计,而且有业务架构岗位,每个共享单元都有业务架构师。但总体来讲,其业务架构仍然是领域性的。

代表企业

企业中台最早是由阿里在2015年提出的,即逍遥子张勇倡导的“大中台,小前台”战略、“数据+业务双中台”等等。

中台方法论

阿里中台方法论,包括:

第一,如何建设中台?即,领域建模、服务拆分粒度、关键业务的抽取原则、组织文化适配等等。

第二,如何管控中台?就是中台的运营平台,它主要由协议标准、能力地图、业务需求结构分解、全局业务身份、业务全景图、业务度量等构成。能让我们有一个地方纵观全局,把控细节。

第三,如何进化中台?跟任何一种技术架构的演进一样,中台也需要不断迭代、进化,中台思想深度融合到企业日常经营当中,形成强大的后台炮火群,更好的支持前端业务快速反应。

中台架构技术

我们以阿里技术中台为例,在阿里集团内部,所有业务中台、前台,共享一个技术平台底座,将阿里多年技术沉淀的价值最大化,提供运行更稳定、架构更灵活的技术支撑。

(图片来源:阿里技术参考图册)

阿里技术中台,就是将使用云或其他基础设施的能力,以及应用各种技术中间件的能力,进行整合和包装。过滤掉技术细节,提供简单一致、易于使用的应用技术基础设施的能力接口,助力前台和业务中台数据中台的快速建设。

阿里的技术中台,包括:

流式计算

JStorm是一个分布式实时计算引擎,调度器分配一个worker 来跑任务,进行任务全生命周期的托管。
分布式存储

Tair(Key/Value结构数据存储系统)
Histore(分布式海量数据场景下OLAP分析型数据库产品)
Hbase
TFS(分布式文件存储)。
分布式数据库

TDDL(分布式数据库中间)
精卫(取名自“精卫填海”,基于MySQL数据库的数据复制组件)
愚公(数据自动迁移引擎,异构数据源迁移)
SchedulerX(分布式任务调度)。
消息

Notify
MeteQ
分布式服务

HSF(High Speed Framework,分布式服务框架,当时阿里内部选择了HSF,放弃了dubbo)。
负载均衡

Tengine(是基于 Nginx 开发的轻量级开源 Web 服务器,作为阿里巴巴七层流量入口的核心系统)。
应用容器

Pandora(是淘宝网中间件团队打造的,基于HSF隔离技术构建的全新一代隔离容器)。
软负载&配置中心

ConfigServer(主要提供非持久配置的发布和订阅)
Diamond(是一个持久配置管理中间件,可以实现分布式场景下,中心化的持久配置管理,同时也支持基于发布订阅模型配置动态变更推送)
VipServer(天枢,通过集中式的配置向客户提供路由信息,以非网关的形式实现负载均衡功能)
Zookeeper。
分布式链路跟踪&基础数据

Eagleye(鹰眼,通过收集和分析在不同的网络调用中间件上的日志埋点,可以得到同一次请求上的各个系统的调用链关系,有助于梳理应用的请求入口与服务的调用来源、依赖关系)
TLOG(是一个分布式的,可靠的,对大量数据进行收集、分析、展现的的系统)。
02

微服务是什么?

微服务的定义

微服务架构将单体应用,按照业务领域拆分为多个高内聚低耦合的小型服务,每个小服务运行在独立进程,由不同的团队开发和维护,服务间采用轻量级通信机制,如HTTP RESTful API,或者RPC,独立自动部署,可以采用不同的语言及存储。

微服务体现去中心化、天然分布式,是中台战略落地到IT系统的具体实现方式的技术架构,用来解决企业业务快速发展与创新时面临的系统弹性可扩展、敏捷迭代、技术驱动业务创新等难题。

微服务解决的问题

传统的单体应用有很大的局限性,应用程序随着业务需求的迭代、功能的追加扩展,最终成为一个庞然大物。单体应用的局限性大体包括以下几方面:

复杂性高:业务规模和团队规模发展的一定阶段,模块耦合严重,代码难以理解,质量变差。

交付效率低:构建和部署耗时长,难以定位问题,开发效率低,全量部署耗时长、影响范围广、风险大,发布频次低。

伸缩性差:单体只能按整体横向扩展,无法分模块垂直扩展。

可靠性差:一个bug有可能引起整个应用的崩溃。

阻碍技术创新:受技术栈限制,团队成员使用同一框架和语言。

微服务技术架构的特点

易于开发与维护:微服务相对小,易于理解;

独立部署:一个微服务的修改不需要协调其它服务;

伸缩性强:每个服务都可按硬件资源的需求进行独立扩容;

与组织结构相匹配:微服务架构可以更好将架构和组织相匹配,每个团队独立负责某些服务,获得更高的生产力;

技术异构性:使用最适合该服务的技术,降低尝试新技术的成本;

企业环境下的特殊要求:去中心化和集中管控/治理的平衡,分布式数据库和企业闭环数据模型的平衡。

03

中台和微服务有什么关系?

回顾概念:

中台架构,简单地说,就是企业级能力的复用,一个种方法论,企业治理思想。

微服务,是可独立开发、维护、部署的小型业务单元,是一种技术架构方式。

可见,中台并不是微服务,中台是一种企业治理思想和方法论,微服务是技术架构方式。

中台化的落地,需要使用微服务架构

中台强调核心基础能力的建设,基础能力以原子服务的形式来建设,并通过将原子服务产品化,支撑业务端各种场景的快速迭代和创新;原子服务和微服务所倡导的服务自闭环思想不谋而合,使得微服务成为实现原子服务的合适架构。

支撑业务场景的应用也是通过服务来实现,其生命周期随业务变化需要非常灵活的调整,这也和微服务强调的快速迭代高度一致,所以业务应用服务也适合通过微服务来实现。

中台化系统建设不是一蹴而就的,需要长期动态的演进,加上其技术体系已经在互联网领域被证明且相当成熟,其在企业落地、执行的土壤已经具备。

04

本文要点小结

中台架构,简单地说,就是企业级能力的复用,一个种方法论,企业治理思想。

微服务,是可独立开发、维护、部署的小型业务单元,是一种技术架构方式。

中台并不是微服务,中台是一种企业治理思想和方法论,微服务是技术架构方式。

中台化的落地,需要使用微服务架构,通过微服务架构搭建中台架构所需要的原子服务,其核心是服务设计的原则和思想。

“企业中台”与微服务架构相关推荐

  1. EDAS 4.0 助力企业一站式实现微服务架构转型与 K8s 容器化升级

    作者:安绍飞 审核&校对:营火 编辑&排版:雯燕 前言 近年来,企业的数字化随着互联网的普及发展越来越快,技术架构也是几经更迭,尤其是在线业务部分.最开始企业的需求就是将业务尽可能在线 ...

  2. 企业信息化建设中微服务架构选择的必要性

    目前大型或者超大型企业的IT平台都是烟囱式的系统架构,缘由是企业内部为了迎合业务发展不停地打造各种系统,也导致各系统间的重复功能建设和维护带来的重复投资.重复投资不仅消耗了人力.财力还有时间.但打通烟 ...

  3. 架构 | 微服务架构下如何解耦,对于已经紧耦合下如何重构?

    点击上方"朱小厮的博客",选择"设为星标" 当当满200减40优惠码「J2KNAE」 来源:知乎 今天准备谈下微服务架构下各个微服务间如何解耦,以及对于已经紧耦 ...

  4. 微服务 松耦合_超值干货:微服务架构下如何解耦,对于已经紧耦合下如何重构?...

    今天准备谈下微服务架构下各个微服务间如何解耦,以及对于已经紧耦合的微服务如何进行重构.要明白实际上微服务后续出现的诸多问题往往都是一开始微服务模块划分就不合理导致,对于具体的模块划分方法和原则,我总结 ...

  5. 深度解析DDD中台和微服务设计

    导读:本文来源于 2020 年第四届 DDD 中国峰会主题演讲:<当中台遇上 DDD,如何设计微服务>.DDD 非常强调统一语言,而 DDD.中台与微服务产生于不同的时代,三者分别属于不同 ...

  6. 阿里云MVP:如何设计实现一个通用的微服务架构?

    最近有看到"微服务,分久必合.合久必分"的言论,我同意,微服务不是架构演变的终点,细说还有Serverless.FaaS等方向.但纠结要不要拆分是没有必要的,拆往往是随着业务变化不 ...

  7. DDD+分布式+负载均衡+服务治理已撸!微服务架构不就这点事?

    孙玄,前58集团技术委员会主席,前转转二手交易平台首席架构师.今天想跟你聊聊企业里那些年薪百万的架构师,他们的架构设计思维是如何升级的. 话不多说,咱们直接来聊点儿干的! 01.百万年薪的核心竞争力 ...

  8. 高并发、高可用、高可靠微服务架构7大顶级设计思维模型

    孙玄,前58集团技术委员会主席,前转转二手交易平台首席架构师.今天想跟你聊聊企业里那些年薪百万的架构师,他们的架构设计思维是如何升级的. 话不多说,咱们直接来聊点儿干的! 01.百万年薪的核心竞争力 ...

  9. 看了阿里P8架构师的工资单,我决定死磕“微服务”架构!

    前段时间一位阿里p8架构师朋友来做技术交流,我不小心看到他手机里的工资单,我当时沉默了很久.他是微服务架构方面的专家,技术钻研得很深,当生产上出现微服务的问题,他都要第一时间去解决. 很多企业常常面临 ...

最新文章

  1. AAAI 2021 | 情感分析最新进展解读
  2. 深入理解Redis主键失效原理及实现机制
  3. 前端三十一:标签的属性
  4. 傅里叶变换库FFTW的安装配置(VS2010)
  5. js方式调用php_javascript调用PHP和PHP调用javascript的方法
  6. [Axios] axios的请求合并以及参数配置
  7. deeplink唤醒app测试软件,DeepLink唤醒App的简单实现方法
  8. 2017.9.4 Nim 思考记录
  9. Shell脚本实现模拟并发及并发数控制
  10. 无法检测的新型 Linux 恶意软件利用 Dogecoin API 攻击 Docker 服务器
  11. 【每日一题】Leetcode 刷题 二叉树-树的遍历 介绍
  12. iframe和response.sendRedirect()跳转到父页面的问题
  13. 计算机cmd管理员,cmd获取管理员权限的命令是什么
  14. 如何利用云流送(Cloud Streaming)构造一个全三维、沉浸式的数字化虚拟景区
  15. python设置默认utf8编码_Python设置默认编码为utf8的方法
  16. Matlab/Simulink中信号线拉成斜线的方法
  17. 写个脚本批量注册网站账号
  18. 2015年国网计算机考试试题,2015全国计算机等级一级MS Office考试试题(回忆版)
  19. C++读图txt文件,并将数据结构 图显示出来
  20. be idle sometimes to_帮忙翻译。中文的

热门文章

  1. 药品销售管理系统 系统开发 PB9.0
  2. 移动大数据助力南京智慧旅游升级
  3. 一文读懂RabbitMQ 消息队列
  4. 【PhotoScan教程】Ps集群处理环境部署图文教程
  5. 使用Blinker控制esp01s Relay继电器模块
  6. 现在连收银员也要考试了吗?
  7. linux 跨进程读取内存,Android之Linux跨进程通信的方式
  8. 动手DIY,用VR头盔和无人机打造“灵魂穿越神机”
  9. Python学习之HTML基础
  10. 服务器定时任务vbs文件,自动以管理员身份运行批处理bat文件(vbs与bat两种方法)...