| 作者 |
| 丛书名 |
| 图灵程序设计丛书 |
| 出版社 |
| 人民邮电出版社 |
| ISBN |
| 9787115521293 |
| 简要 |
| 简介 |
| 内容简介书籍计算机书籍 微服务具有模块性强、可替代性强、可持续开发、可独立伸缩、可持续交付等优点,近年来受到越来越多的开发者以及一些经验老到的架构师的青睐,采用微服务架构的公司也越来越多。本书围绕架构和团队的主题,详细介绍了微服务的各个方面,包括采用微服务的原因、微服务架构的基础知识、微服务的实际应用、如何克服相关的挑战,等等。本书还包含具体的实现示例,在代码层面详细介绍了微服务的技术实现。 |
| 目录 |
| 第 一部分 动机和基础知识 第 1章 预备知识 2 1.1 微服务概述 2 1.2 为什么采用微服务 3 1.3 挑战 5 1.4 总结 6 第 2章 微服务应用案例 7 2.1 遗留电商应用的技术更新 7 2.2 开发一个新的信号系统 13 2.3 总结 15 第二部分 微服务是什么,用还是不用 第3章 什么是微服务 18 3.1 微服务的大小 18 3.2 康威定律 24 3.3 领域驱动设计与限界上下文 27 3.4 为什么要远离标准数据模型 32 3.5 微服务要不要包含UI 34 3.6 总结 35 第4章 采用微服务的原因 37 4.1 技术优势 37 4.2 组织上的优势 42 4.3 业务方面的优势 44 4.4 总结 45 第5章 挑战 47 5.1 技术挑战 47 5.2 架构 50 5.3 基础设施与运维 52 5.4 总结 53 第6章 微服务与SOA 55 6.1 什么是SOA 55 6.2 SOA与微服务的区别 59 6.3 总结 62 第三部分 微服务的实现 第7章 微服务系统架构 68 7.1 领域架构 68 7.2 架构管理 71 7.3 调整架构的技术 75 7.4 增长的微服务系统 81 7.5 别错过出口:如何避免微服务的退化 84 7.6 微服务与遗留应用 86 7.7 潜在的依赖 91 7.8 事件驱动架构 92 7.9 技术架构 93 7.10 配置与协调 95 7.11 服务发现 97 7.12 负载均衡 99 7.13 可伸缩性 102 7.14 安全性 104 7.15 文档与元数据 109 7.16 总结 110 第8章 集成与通信 112 8.1 Web与UI 112 8.2 REST 121 8.3 SOAP与RPC 123 8.4 消息 124 8.5 数据复制 126 8.6 内部接口与外部接口 128 8.7 总结 130 第9章 单个微服务架构 133 9.1 领域架构 133 9.2 CQRS 134 9.3 事件溯源 136 9.4 六边形架构 138 9.5 容错性和稳定性 141 9.6 技术架构 144 9.7 总结 146 第 10章 微服务与微服务系统的测试 148 10.1 为什么需要测试 148 10.2 如何测试 149 10.3 降低部署的风险 153 10.4 系统整体的测试 154 10.5 遗留应用与微服务的测试 157 10.6 各个微服务的测试 159 10.7 消费者驱动的契约测试 160 10.8 技术标准的测试 163 10.9 总结 164 第 11章 微服务的运维及持续交付 165 11.1 微服务运维的挑战 165 11.2 日志 167 11.3 监控 171 11.4 部署 176 11.5 联合部署还是独立部署 179 11.6 控制 180 11.7 基础设施 180 11.8 总结 184 第 12章 微服务架构的组织效应 186 12.1 微服务的组织效益 186 12.2 康威定律的替代方案 189 12.3 微观架构与宏观架构 191 12.4 技术领导力 196 12.5 DevOps 197 12.6 当微服务遇上传统的IT组织 198 12.7 与客户的接洽 201 12.8 可复用代码 202 12.9 能否采用微服务而不改变组织 204 12.10 总结 206 第四部分 技术 第 13章 微服务架构示例 210 13.1 领域架构 210 13.2 基本技术 212 13.3 构建 216 13.4 使用Docker进行部署. 217 13.5 Vagrant 218 13.6 Docker Machine 222 13.7 Docker Compose 223 13.8 服务发现 226 13.9 通信 228 13.10 容错性 230 13.11 负载均衡 234 13.12 集成其他技术 235 13.13 测试 236 13.14 基于JVM的微服务在Amazon Cloud中运行的实践 237 13.15 总结 239 第 14章 纳米服务技术 241 14.1 为什么采用纳米服务 241 14.2 纳米服务:定义 243 14.3 Amazon Lambda 244 14.4 OSGi 245 14.5 Java EE 248 14.6 Vert.x 251 14.7 Erlang 252 14.8 Seneca 255 14.9 总结 257 第 15章 把微服务用起来 259 15.1 为什么选择微服务 259 15.2 微服务实践之路 260 15.3 微服务:能否落地 260 15.4 总结 261 |