第1章 解密微服务 1
微服务的演进 2
命令式架构的演进 4
什么是微服务 5
微服务——蜂窝类比 8
微服务原则 8
微服务的特性 10
微服务中服务的特性 11
微服务案例 17
微服务的好处 23
与其他架构风格的联系 32
微服务使用案例 41
总结 45
第2章 用Spring Boot构建微服务 46
设置开发环境 47
开发RESTful服务——传统方法 47
传统Web应用转移到微服务 51
使用Spring Boot构建RESTful微服务 51
开始使用Spring Boot 52
使用CLI开发Spring Boot微服务 53
使用STS开发Spring Boot Java微服务 54
下一步是什么 65
Spring Boot配置 65
修改默认嵌入的Web服务器 68
实现Spring Boot安全性 69
为微服务开启跨域访问 73
实现Spring Boot通知 74
Spring Boot Actuator 87
配置应用信息 89
添加自定义运行状况模块 89
记录微服务 92
总结 93
第3章 微服务概念的应用 94
模式和常见设计决策 95
微服务的挑战 126
微服务能力模型 131
总结 136
第4章 微服务的演变——一个案例的学习 137
回顾微服务能力模型 138
理解PSS应用 139
庞然大物的终结 143
使用微服务来拯救 149
业务用例 150
为演化制订计划 150
只有在需要时迁移模块 168
目标架构 168
目标实现视图 174
总结 179
第5章 通过Spring Cloud对微服务进行扩(缩)容 180
回顾微服务 181
回顾BrownField航空的PSS系统实践 182
什么是Spring Cloud 182
建立BrownField PSS的环境 187
Spring Cloud Config 187
一个声明式的REST客户端Feign 202
用于负载均衡的Ribbon 204
注册和发现的Eureka 206
API网关——Zuul代理 216
反应式微服务流 224
BrownFeild PSS架构总结 228
总结 229
第6章 自动化扩(缩)容微服务 230
回顾微服务功能模型 230
用Spring Cloud扩(缩)容微服务 231
理解自动化扩(缩)容的概念 233
自动化扩(缩)容方法 238
总结 250
第7章 日志记录和监控微服务 251
回顾微服务能力模型 252
理解日志管理的挑战 253
集中式日志解决方案 254
日志方案的选择 256
微服务监控 265
使用数据湖泊的数据分析 276
总结 277
第8章 用Docker实现容器化微服务 279
回顾微服务功能模型 280
理解BrownField PSS微服务的区别 281
什么是容器 282
VMS与容器之间的区别 283
容器的好处 284
微服务和容器 286
Docker简介 286
在Docker中部署微服务 290
在Docker上运行RabbitMQ 294
使用Docker Registry 294
云上的微服务 295
在EC2上运行BrownField服务 296
更新生命周期管理器 297
容器化的未来——内核和强化安全 298
总结 298
第9章 使用Mesos和Marathon管理Dockerized微服务 299
回顾微服务功能模型 300
缺少的部分 300
为什么集群管理很重要 301
集群管理能做什么 302
与微服务的关系 305
与虚拟化的关系 305
集群管理解决方案 305
集群管理与Mesos和Marathon 309
为BrownField微服务实现Mesos和Marathon 313
生命周期管理器的部署 325
技术元模型 326
总结 327