说明:最近在看企业微服务的书籍《微服务设计——企业架构转型之路》,借由该博文记录一些学习归纳和感想。
一、企业微服务简介
1.服务介绍
定义:服务是通过提供规范契约的接口、具有一定实用价值的组件或者逻辑表示,简单说就是为外界提供可访问的规范接口、实现具有实用价值的业务逻辑。
服务共性:实用价值、具有有形组件或者逻辑表示、提供规范契约的接口。
服务的表现形式:一是抽象业务上,表示为一种功能的描述;二是实际业务上,表示一个封装为有形组件。
服务的组成:与业务相关的接口、依赖的外部服务、约束接口契约的服务合约、实现功能业务模块。
2.微服务架构介绍
微服务定义:微服务是一些协同工作的小而自治的服务(出自微服务设计),是一种严格限制、高度封装、松散耦合、支持独立部署和独立扩展的应用组件。
微服务特征:提供一定功能价值的服务(具有价值);颗粒度小(原子性);有自治管理能力(每一个微服务具有服务的性质)。
微服务类型:技术微服务和业务微服务。
企业架构的概念:包括了业务架构、应用架构和技术架构。业务架构就是在基于服务的模式描述下,业务架构围绕业务服务来构建业务组件、业务功能模块、业务接口;应用架构就是围绕应用服务形成应用接口、应用组件、应用功能等;技术架构基于技术服务来形成技术组件、技术接口、节点等。
微服务架构定义:通过将应用程序的不同的功能单元微服务化,通过微服务间的接口和契约联系起来,接口采用中立方式定义,独立于具体实现服务的操作系统、软件框架、编程语言和运行基础设施平台,使用统一、标准、轻量级的通讯方式进行通讯。
微服务特点:一种软件锡铁架构、微服务是核心、需要基础环境、基础设施自动化。
二.微服务架构和SOA架构
1.SOA架构介绍
定义:SOA是一种软件架构模式,通过服务间定义接口和契约连接起来。服务之间可以使用统一和标准的方式进行通信并形成松耦合,各个服务的硬件平台、软件框架和编程语言是独立的。
特征:一种软件系统架构、服务是核心、采用标准化接口、松耦合。
SOA体系与环境:体系结构的角色分成三种:服务使用者、服务提供者、服务注册中心。

2.微服务与SOA架构比较
(1)微服务架构与SOA架构的相同点
都是构建面向服务的分布式锡铁应用的指导架构
核心组成以服务形式提供,服务间是自治的、松耦合的
和技术实现、基础平台设施无关
(2) 微服务架构和SOA架构的差异点
SOA架构使用粗粒度的服务,利用现有的资源,易于集成管理。
微服务强调微服务的独立性、无状态、功能职责单一体,通过多个微服务的结合实现复杂业务,强调通过服务替换和升级实现对企业业务的敏捷支持。
比较点 | SOA架构 | 微服务架构 |
适用系统 | 静态的、大型企业系统 | 互联网应用系统 |
服务粒度 | 服务功能丰富、多样化、粒度大 | 服务功能单一、原子性 |
通信机制 | SOAP等重量级机制 | REST、RPC等轻量级 |
实现方式 | java EE、Web Service等 | RESTful等 |
部署方式 | 服务部署为应用组件、在统一的平台中,部署简单化 | 服务部署为服务组件、在独立进程中,部署复杂 |
中心模式 | 有 | 无 |
业务变化支持 | 低 | 高 |
并发访问机制 | 复杂,集群方式 | 简单、分布式 |
基础设施 | 集中式ESB | 细粒度服务 |
三.企业微服务体系
1.微服务体系介绍:
九大特征:微服务就是软件组件、围绕业务功能组织、产品不是项目、强化终端及弱化通道(通信)、分散治理、分散数据管理、基础设施自动化、容错性设计、设计改进
定义:微服务体系是一个体系化、整体性的系统工程,分别涉及微服务的架构、技术、业务、流程、方法论以及团队协同等多方面领域。包含了技术体系、业务体系和管理体系
2.微服务体系适用
(1)适用于一定量级的数据量和业务复杂度
(2)适用于高并发的业务系统
(3)适用于敏捷开发系统,业务变化快
(4)适用于足够的容错容灾
(5)适用于业务重复功能多
(6)自动化部署程度高
(7) 需要团队规范、协调一致
(8)服务产品思维
3.引入微服务体系的难点
-
业务模式的变化
-
用户行为和开发周期的变化 (迭代快)
-
历史包袱重,技术债务重(新旧架构的共存)
-
增加设计、开发和集成复杂度 (架构设计和各个微服务开发的协同)
-
对运维的要求(多个微服务管理、接口的健康检测、微服务扩展等等)
4.企业微服务化的原则和策略
(1)企业微服务化原则
业务导向、突出服务
统筹规划、分布实施
顶层设计、迭代推进
技术前瞻、实用为本
开发运维、合二为一
基础抽象、共享下沉
(2) 企业微服务化的策略
全面策略:全面引进,推倒重来;循序渐进,迭代前行(两种策略)
双模IT策略:稳态:核心业务稳定;敏态:适应外部快速发展
5.企业微服务化实施方法论
(1)概念:针对企业或者组织整体的微服务化,基于体系化思维,全方位进行规划、分析、设计、实施和治理的一整套措施和手段,其覆盖微服务体系的业务体系、技术体系和管理体系等各个方面。
(2)特性:专注性、可调整性和可裁剪性、可适应性、迭代性
6.企业实施微服务总体规划和实施
8个阶段:微服务体系愿景、企业业务架构体系、企业IT架构体系、企业IT架构服务化、企业服务架构微服务化、企业微服务解决方案、实施管理、改进管理
(1)微服务体系愿景
- 目标:组织管理层的支持;定义企业微服务企业体系的基线范围,确定关键需求,明确其优先级;定制价值主张;定义框架以及详细方法;制定建设计划
(2)企业业务架构体系
- 目标:确定企业的业务组件模型、确定企业的流程模型、确定企业的组织机构模型、确定企业微服务体系的基线业务架构和业务模型
(3)企业IT架构体系
- 目标:确定企业的应用架构体系、确定企业的数据架构体系、确定企业的技术架构体系
(4)企业IT架构服务化
- 目标:企业业务架构抽象为企业服务架构(业务服务)、企业应用架构抽象为企业服务架构(对外聚合服务)、企业技术架构抽象为企业服务架构(技术底层服务)、确定企业服务架构
(5)企业服务架构微服务化
- 目标:分析并确认企业的业务微服务架构、应用微服务架构和技术微服务架构
(6)企业微服务解决方案
- 目标:形成企业微服务体系解决方案、确定企业微服务体系实施项目和实现方式
(7)实施管理
- 目标:监督微服务体系的实施、确保实施和迁移规划与企业中的各种管理框架相协调、创建演进和监控详细的实施和迁移规划
(8)改进管理
- 目标:确保微服务体系基线持续符合当前实际、建立适当的微服务体系治理功能、为实施治理阶段建立的新的企业的微服务体系基线,建立体系变更管理流程
总结
概述部分更多的是介绍概念和企业微服务化的大概、如何从企业微服务化开始到可持续发展的过程方法。在如何对微服务体系中的应用层、业务层和技术层做出更好的分析和确认,感觉上是做一个很好的参考,具体还是要结合公司实际情况来。概述部分对微服务管理介绍也比较简单,更多自动化的工具能带来更便利的管理和减少人为错误发生。