《架构探险 轻量级微服务架构 下》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:黄勇著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2017
  • ISBN:9787121324475
  • 页数:322 页
图书介绍:本书将重点关注微服务基础设施方面,其中大部分内容涉及微服务运维相关技术。全书以实践的角度进行编写,读者首先将学习到轻量级微服务架构的全景视图,随后的各个章节将围绕微服务的日志、监控、通信、解耦、测试、配置等六大方面进行展开。读者可亲自动手,从零开始搭建轻量级微服务架构,充分享受架构探险的乐趣。

第1章 轻量级的微服务 1

1.1 微服务将变得轻量级 2

1.1.1 架构与架构师 2

1.1.2 架构演进过程 4

1.1.3 微服务架构发展趋势 6

1.2 微服务架构前期准备 7

1.2.1 认识微服务架构冰山模型 7

1.2.2 冰山下的微服务基础设施 8

1.2.3 根据业务切分微服务边界 9

1.3 轻量级微服务架构图 10

1.3.1 轻量级微服务部署架构 10

1.3.2 轻量级微服务运行架构 11

1.3.3 轻量级微服务全局架构 12

1.4 本章小结 13

第2章 微服务日志 14

2.1 使用Spring Boot日志框架 15

2.1.1 使用Spring Boot Logging插件 15

2.1.2 集成Log4J日志框架 17

2.1.3 将日志输出到Docker容器外 19

2.2 使用Docker容器日志 19

2.2.1 Docker日志驱动 20

2.2.2 Linux日志系统:Syslog 23

2.2.3 Docker日志架构 26

2.3 搭建应用日志中心 28

2.3.1 开源日志中心:ELK 28

2.3.2 日志存储系统:Elasticsearch 29

2.3.3 日志收集系统:Logstash 38

2.3.4 日志查询系统:Kibana 44

2.3.5 搭建ELK日志中心 46

2.4 本章小结 50

第3章 微服务监控 51

3.1 使用Spring Boot监控系统 52

3.1.1 Spring Boot自带的监控功能 52

3.1.2 Spring Boot Admin开源监控系统 53

3.2 搭建系统监控中心 63

3.2.1 时序数据收集系统:cAdvisor 63

3.2.2 时序数据存储系统:InfluxDB 66

3.2.3 时序数据分析系统:Grafana 71

3.2.4 集成InfluxDB+cAdvisor+Grafana 73

3.3 搭建调用追踪中心 78

3.3.1 开源调用追踪中心:Zipkin 79

3.3.2 追踪微服务调用链 82

3.3.3 追踪数据库调用链 98

3.4 本章小结 104

第4章 微服务通信 105

4.1 使用HTTP实现同步调用 106

4.1.1 使用Spring Boot开发服务端 106

4.1.2 使用Spring RestTemplate开发客户端 108

4.1.3 使用OkHttp开发客户端 114

4.1.4 使用Retrofit开发客户端 118

4.2 使用RPC实现同步调用 127

4.2.1 RPC通信原理 127

4.2.2 初步体验gRPC 128

4.2.3 Spring Boot集成gRPC 137

4.3 搭建分布式RPC框架 144

4.3.1 架构设计 144

4.3.2 搭建模块代码框架 149

4.3.3 开发RPC服务端 157

4.3.4 开发RPC客户端 177

4.4 本章小结 186

第5章 微服务解耦 187

5.1 使用MQ实现异步调用 188

5.1.1 使用ActiveMQ实现JMS异步调用 188

5.1.2 使用RabbitMQ实现AMQP异步调用 198

5.2 使用请求应答模式实现RPC调用 211

5.2.1 请求应答模式简介 211

5.2.2 使用RabbitMQ实现RPC调用 214

5.2.3 封装RabbitMQ的RPC代码框架 219

5.3 解决分布式事务问题 225

5.3.1 什么是Event-Sourcing 225

5.3.2 使用Event-Sourcing与MQ实现分布式事务控制 227

5.4 本章小结 242

第6章 微服务测试 243

6.1 使用Spring Boot单元测试 244

6.1.1 搭建待测应用程序框架 244

6.1.2 测试Service层 250

6.1.3 测试REST API 257

6.2 搭建REST API自动化测试框架 263

6.2.1 使用Postman手工测试REST API 264

6.2.2 使用Newman批量测试REST API 272

6.2.3 搭建REST API自动化测试框架 274

6.3 自动生成REST API文档 276

6.3.1 使用Swagger生成REST API文档 276

6.3.2 REST API文档的另一选择:apiDoc 285

6.4 本章小结 289

第7章 微服务配置 290

7.1 Ansible入门与实战 291

7.1.1 Ansible是什么 291

7.1.2 准备Ansible实战环境 292

7.1.3 Ansible实战 293

7.2 搭建服务配置中心 306

7.2.1 如何管理微服务中的配置 306

7.2.2 设计Ansible配置中心 308

7.2.3 动手实现自动化部署框架 309

7.3 自注册服务配置 316

7.3.1 目前服务注册存在的问题 316

7.3.2 使用Registrator实现服务自注册 317

7.3.3 微服务平滑升级解决方案 320

7.4 本章小结 322