微服务体系建设和实践


微服务体系建设和实践

文章插图
微服务体系建设和实践【微服务体系建设和实践】微服务体系建设和实践是由电子工业出版社出版的图书,作者任钢 。
基本介绍书名:微服务体系建设和实践
作者:任钢 着
ISBN:978-7-121-36872-1
页数:436页
定价:99.00元
出版社:电子工业出版社
出版时间:2019年8月出版
开本:16开
内容提要《微服务体系建设和实践》採用体系化的思维来诠释和构建微服务体系,从整体上讲述微服务体系的技术、架构、框架、管理整合和规划实施等内容 。本书不针对某个微服务技术或框架用法进行细节说明,而是对微服务的整体领域进行概述,同时说明如何实践、如何验证、如何落地 。本书脉络清晰,内容翔实,引导读者不仅“知其然”,而且还“知其所以然” 。《微服务体系建设和实践》适合希望从初级技能水平提升到高级技能水平的读者阅读 。阅读本书后,读者会对微服务有一个整体的、深层次的、体系化的认识 。目录第1部分 微服务体系概述 1第1章 微服务概述 21.1 微服务史话 21.1.1 微服务史话总述 21.1.2 第一个时代是单体套用的C/S客户伺服器时代 41.1.3 第二个时代是分散式组件化套用时代 51.1.4 第三个时代是SOA(面向服务架构)时代 61.1.5 第四个时代是微服务架构时代 81.2 现阶段微服务的基本概念 101.2.1 微服务的基本概念 101.2.2 微服务的内涵和外延 121.2.3 微服务架构(MSA)的定义 131.2.4 MSA和SOA的比较 141.3 关于微服务的一些辩证关係 161.3.1 选择单体套用系统和微服务套用系统的辩证关係 161.3.2 微服务颗粒度大小的辩证关係 171.3.3 微服务进程内外之间的辩证关係 171.3.4 组件独立性和共享性之间的辩证关係 171.3.5 关于去中心化和管理规範化之间的辩证关係 171.3.6 松耦合和敏捷性要求之间的辩证关係 171.3.7 投入成本和複杂度之间的辩证关係 181.3.8 微服务灵活性与性能的辩证关係 181.3.9 微服务安全性与无状态性之间的辩证关係 181.4 微服务是未来方向吗 181.5 本章小结 19第2章 微服务体系概况 202.1 关于体系化 202.1.1 体系化的整体性 202.1.2 体系化的结构性 212.1.3 体系化的综合性 212.1.4 体系化的动态性 212.2 採用微服务的愿景 222.3 微服务体系的概念 232.3.1 关于微服务体系的特徵 242.3.2 微服务体系的整体性 252.3.3 微服务体系的结构性 262.3.4 微服务体系的综合性 272.3.5 微服务体系的动态性 282.4 微服务体系建设方法论 292.5 微服务体系与云原生架构的区别 302.5.1 云原生架构简介 302.5.2 微服务体系与云原生架构的不同之处 322.6 微服务体系与API开放框架平台的关係 332.7 微服务体系生态系统 352.8 本章小结 36第2部分 微服务技术体系 37第3章 微服务技术体系及实现技术 393.1 微服务技术体系的体系化 393.1.1 基本概念澄清 393.1.2 微服务技术体系的整体性 413.1.3 微服务技术体系的结构性 423.2 微服务技术体系的层次及其关係 423.2.1 总体层次结构 423.2.2 微服务技术体系的实现技术体系 453.2.3 微服务技术体系的技术架构体系 463.2.4 微服务技术体系的技术框架体系 463.2.5 微服务技术体系的集成环境平台 473.2.6 微服务技术体系的基础设施环境 473.3 微服务的实现技术 483.3.1 总体说明 483.3.2 通信技术 483.3.3 分散式架构 573.3.4 容器技术 753.3.5 安全协定 803.4 实现微服务的集成平台自动化工具 843.4.1 集成平台自动化工具综述 843.4.2 研发自动化工具 853.4.3 CI/CD自动化工具 863.4.4 运维自动化工具 883.5 微服务的基础设施环境 923.5.1 IaaS平台 923.5.2 云管理平台 933.6 本章小结 96第4章 微服务技术架构体系 984.1 微服务技术架构体系概述 984.1.1 微服务技术架构的概念 984.1.2 微服务技术架构的整体性 1004.1.3 微服务技术架构的优势和挑战 1014.2 微服务运行时服务架构的组成部分 1034.2.1 微服务组件的形式和特徵 1034.2.2 微服务组件的调用方式 1034.2.3 微服务组件的契约驱动模式 1044.3 微服务运行时基础架构的组成部分 1054.3.1 微服务运行时基础架构概述 1054.3.2 微服务的服务发现和注册组件 1074.3.3 微服务的API网关组件 1164.3.4 微服务的服务容错组件及其模式 1224.3.5 监控告警日誌组件 1464.3.6 认证授权组件 1584.3.7 统一配置管理组件 1654.4 微服务运行时后端架构的组成部分 1694.4.1 讯息伫列中间件 1694.4.2 关係存储及其相关管理工具 1694.4.3 分散式NoSQL资料库 1694.4.4 NewSQL数据存储区 170 4.4.5 档案数据存储区 1704.4.6 数据流平台 1704.5 微服务技术架构设计模式 1704.5.1 微服务技术架构设计模式概述 1714.5.2 常用的微服务技术架构设计模式 1714.5.3 微服务技术架构设计模式及其特性 1724.6 本章小结 179第5章 微服务技术框架体系 1815.1 微服务技术框架概述 1815.1.1 微服务技术框架的基本概念 1815.1.2 微服务技术框架实现的功能 1815.1.3 微服务技术框架分类 1835.1.4 选择微服务技术框架需要考虑的因素 1855.2 开发型微服务基础框架平台 1865.2.1 Netflix微服务框架 1865.2.2 Spring Cloud微服务框架 1885.2.3 Microsoft Azure Service Fabric微服务框架 1915.2.4 Lightbend的Lagom框架 1945.2.5 Microdot Framework微服务框架 1965.2.6 Dubbo分散式服务框架 1975.2.7 Spotify的Apollo框架 1995.2.8 Steeltoe微服务框架 2005.2.9 其他的微服务框架 2025.3 运维型微服务基础框架平台 2045.3.1 Kubernetes微服务框架 2045.3.2 Docker Swarm微服务框架 2125.3.3 ZeroC IceGrid微服务框架 2155.3.4 Istio微服务框架 2175.4 Serverless型微服务基础框架平台 2195.4.1 Serverless型微服务基础框架平台架构 2195.4.2 AWS Lambda框架 2225.4.3 其他的Serverless框架平台 2245.5 微服务开发框架平台 2255.5.1 总体说明 2255.5.2 基于Java的微服务开发框架 2265.5.3 基于Microsoft.NET Framework的微服务开发框架 2325.5.4 基于JavaScript的微服务开发框架 2335.5.5 基于PHP的微服务开发框架 2335.5.6 基于Go的微服务开发框架 2345.5.7 基于Python的微服务开发框架 2345.6 本章小结 234第3部分 微服务业务体系 237第6章 微服务业务体系概述 2386.1 微服务业务体系的定义 2386.2 与微服务业务体系相关的一些基本概念 242 6.2.1 技术微服务和业务微服务 2426.2.2 业务服务和业务微服务 2426.2.3 业务微服务设计层和业务微服务实现层 2436.2.4 微服务技术架构和微服务业务架构 2436.3 业务微服务解决的核心问题 2446.3.1 业务微服务的边界 2446.3.2 业务微服务的颗粒度大小 2476.4 业务微服务的组织和集成 2496.4.1 业务微服务的内部构成 2496.4.2 业务微服务的内部设计模式 2506.4.3 业务微服务的外部关係集成 2596.5 实现业务微服务的相关架构 2606.6 本章小结 261第7章 业务微服务分析设计方法论 2637.1 总体说明和业务场景描述 2637.1.1 业务微服务的组成部分 2637.1.2 业务逻辑的架构模式及实现 2647.1.3 业务场景描述 2657.2 普通服务分析和设计 2707.2.1 资产管理微服务分析和定义 2707.2.2 普通服务分析和设计概述 2717.2.3 具体套用场景的普通服务分析和设计 2737.3 领域驱动设计和微服务 2797.3.1 领域驱动设计概述 2797.3.2 基于领域驱动设计的业务微服务架构 2827.3.3 基于领域驱动设计的业务微服务架构设计和实现 2847.4 六边形架构分析和设计 2927.4.1 六边形架构概述 2927.4.2 基于六边形架构的业务微服务架构 2957.4.3 基于六边形架构的业务微服务设计和实现 2977.5 Clean架构分析和设计 3047.5.1 Clean架构概述 3047.5.2 基于Clean架构的业务微服务架构 3077.5.3 基于Clean架构案例的设计和实现 3087.6 DCI架构分析和设计 3117.6.1 DCI架构概述 3117.6.2 基于DCI架构的业务微服务架构 3147.6.3 基于DCI架构的业务微服务架构设计和实现 3157.7 CQRS架构分析和设计 3187.7.1 CQRS架构概述 3187.7.2 基于CQRS架构的业务微服务架构 3197.7.3 基于CQRS架构的业务微服务架构设计和实现 3207.8 本章小结 321第4部分 微服务管理体系 323第8章 微服务管理体系概述 3248.1 微服务管理体系的定义 3248.2 微服务管理体系的内容 3258.3 微服务套用成熟度级别 3278.3.1 定义微服务套用成熟度级别的缘由 327 8.3.2 微服务套用成熟度级别及其特徵 3278.3.3 产品级微服务套用成熟度特徵描述 3298.4 微服务套用的“12要素”原则 3338.4.1 “12要素”原则简介 3348.4.2 微服务套用的“12要素”原则 3348.5 微服务规範 3398.5.1 微服务规範和工具概述 3398.5.2 微服务基础规範 3408.5.3 微服务技术规範 3408.5.4 微服务管理规範 3408.6 微服务度量指标 3428.6.1 度量指标概述 3428.6.2 微服务的8个度量指标 3438.7 本章小结 349第9章 微服务套用的组织、人员和文化 3509.1 单体架构套用的团队问题 3509.2 微服务对组织、人员和文化的影响 3519.2.1 围绕业务功能的组织 3529.2.2 开发团队和运维团队不能分离 3529.2.3 微服务团队的决策机制 3529.2.4 微服务团队的规模 3539.2.5 微服务对运维方式的影响 3539.3 根据微服务的需要调整组织、人员和文化 3549.3.1 组织团队的调整 3549.3.2 倡导新文化和新行为 3579.3.3 培养必要的新技能和新能力 3589.3.4 微服务化小团队的组织和管理 3599.3.5 组织结构的INVEST原则 3609.4 本章小结 361第10章 微服务的开发和运维流程 36210.1 软体开发流程的演化历史 36210.1.1 瀑布开发模式 36210.1.2 快速原型模式 36310.1.3 叠代模式 36410.1.4 敏捷开发模式 36610.1.5 微服务开发模式 36710.1.6 DevOps模式 36710.2 DevOps概述 36810.2.1 DevOps的定义及其内容 36810.2.2 企业实施DevOps的方式 36910.2.3 微服务架构对DevOps的影响 37010.3 在微服务下DevOps的实现 37110.3.1 微服务的开发和运维流程概述 37110.3.2 更多、更快地回响业务需求 37310.3.3 开发和运维过程管理的敏捷性 37410.3.4 最佳化质量保证流程 37510.3.5 加强安全和治理管理 37610.3.6 整合工具链构建DevOps平台 377 10.4 本章小结 378第5部分 微服务体系建设实践 379第11章 传统架构迁徙到微服务架构 38011.1 迁徙的必要性 38011.1.1 外部环境的挑战 38011.1.2 业务方面的原因 38111.1.3 技术方面的原因 38211.1.4 管理方面的原因 38311.2 需要考虑的问题 38311.2.1 业务方面的问题 38311.2.2 技术方面的问题 38311.2.3 管理方面的问题 38411.2.4 支撑方面的问题 38411.3 传统架构迁徙到微服务架构的原则 38511.4 传统架构迁徙到微服务架构的策略 38511.4.1 整体改造,一步到位策略 38611.4.2 试点入手,逐步推进策略 38611.4.3 新功能、新服务策略 38611.4.4 胶水层策略 38711.4.5 绞杀策略 38811.5 传统架构迁徙到微服务架构的实施流程 38911.5.1 当前系统梳理和需求整理 38911.5.2 确定目标、原则和策略 39011.5.3 规划和计画 39111.5.4 技术选型和确定 39211.5.5 业务分析和拆分 39511.5.6 团队、流程和人员改进 39711.5.7 实施管理 39811.5.8 演化和改进 39911.6 本章小结 400第12章 新建系统的业务微服务全生命周期过程 40212.1 业务微服务全生命周期过程概述 40212.2 产品或平台微服务化需要考虑的问题 40212.2.1 是否一定要採用微服务架构 40312.2.2 平台微服务架构设计的思考维度 40312.2.3 产品或平台微服务的基本原则 40412.3 产品或平台业务微服务的建设步骤 40412.3.1 平台业务微服务的架构愿景 40512.3.2 平台业务微服务的规划、原则和策略 40612.3.3 业务微服务的识别和分析 40712.3.4 业务微服务的套用场景分析(服务建模) 40812.3.5 业务微服务的设计 40912.3.6 业务微服务的实现 41012.3.7 业务微服务的套用 41012.3.8 业务微服务的改进和退出 41112.4 本章小结 412