云原生中间件技术白皮书
前 言
随着云原生技术在各个行业快速落地,基于云计算基础设施的应用开发架构已经发生了巨大的变革。中间件作为云平台业务上云的关键组件,起到重要支撑作用。然而,目前云原生时代中间件范畴尚未明确定义,云原生中间件的生态现状并不清晰,普及推广云原生中间件对加速云原生技术落地有着积极作用。
本白皮书首先阐述了云原生和中间件的基本概念,回顾了中间件从电子信息时代到云原生时代的发展历程,总结了当前云原生时代应用的开发特点,同时开创性地提出了设计云原生中间件的十个关键要素,最后梳理了目前典型的云原生中间件服务,并预测了未来云原生中间件的发展趋势。
目 录
一、 概述 ......................................................... 7
(一) 云原生概述 ..................................................... 7 (二) 中间件定义 ..................................................... 7
二、 中间件发展历程 ............................................... 8
(一) 中间件的起源 ................................................... 8 (二) 互联网时代的中间件 ............................................. 9 (三) 云计算为中间件提供了平台 ...................................... 10 (四) 开源推动中间件技术发展 ........................................ 11 (五) 云原生赋予中间件新的内涵 ...................................... 11
三、 云原生应用开发特点 .......................................... 12
(一) 容器与编排 .................................................... 13 (二) 微服务化 ...................................................... 14 (三) 计算存储分离 .................................................. 15 (四) 服务网关 ...................................................... 16 (五) 分布式事务模式 ................................................ 16 (六) 业务服务无状态化 .............................................. 17
四、 云原生中间件十要素 .......................................... 17
(一) 容器原生 ...................................................... 18 (二) 服务状态 ...................................................... 18 (三) 组件模块化 .................................................... 19 (四) 事件驱动 ...................................................... 19 (五) 可观测 ........................................................ 20 (六) 韧性设计 ...................................................... 21 (七) 弹性伸缩 ...................................................... 21 (八) 动态部署 ...................................................... 22 (九) 统一响应式与声明式的 API ............................................................................... 22 (十) 平台化 ........................................................ 23
五、 云原生中间件典型服务 ........................................ 23
(一) 分布式消息队列 ................................................ 23 (二) 分布式事务系统 ................................................ 25 (三) 分布式配置服务 ................................................ 27 (四) API 网关 ...................................................... 28 (五) 分布式缓存 .................................................... 29 (六) 链路跟踪服务 .................................................. 30
六、 云原生中间件发展趋势 ........................................ 31
(一) 技术架构上趋于统一 ............................................ 31 (二) 深度融合云原生热点技术 ........................................ 31 (三) 云原生中间件领域标准化进程持续深入 ............................ 32
一、 概述
(一) 云原生概述
云原生是一系列云计算技术体系和企业管理方法的集合,既包含了实现应用云原生化的方法论,也包含了落地实践的关键技术。云原生应用利用容器、服务网格、微服务、不可变基础设施和声明式 API 等代表性技术,来构建容错性好、易于管理和便于观察的松耦合系统。云原生通过利用可靠的自动化手段对系统做出频繁、可预测的重大变更,让应用随时处于待发布状态。云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用, 借助平台的全面自动化能力,跨多云构建微服务,持续交付部署业务生产系统。
1
经过几年的发展,云原生的理念不断丰富和落地。中国信息通信研究院经过多方面研究,总结云原生的概念为“适合云的应用”和“好用的云架构” 2。基于云原生的技术和管理方法,用户能够更好地把业务生于云或迁移到云平台,从而享受云的高效和持续的服务能力。
(二) 中间件定义
中间件是指网络环境下处于操作系统、数据库等系统软件和应用软件之间的一种起连接作用的分布式软件。中间件主要解决异构网络环境下分布式应用软件的互连与互操作问题。提供标准接口、协议,
1 2
引自 CNCF 对云原生的定义
引自《云原生技术实践白皮书(2019 年)》
云原生中间件技术白皮书
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)