1.根据Spring Boot、Spring Cloud、Docker等技术性搭建微保障体系。
2.精减而详细的经典案例展现保持分布式架构的详细宏伟蓝图。
3.融合业务流程情景,根据全方位实例得出专用工具在搭建分布式架构中的工程项目实战演练。
4.创作者有近10年互联网行业从事工作经验,主持人和参加过好几个大中型公司级运用和移动互联系统软件的开发设计和管理方面,北风网特聘老师,授课系统架构图与技术水平的管理有关课程内容。
这书关键包括分布式架构保持全过程中应当具有的技术性管理体系和工程项目实践活动,紧紧围绕保持分布式架构的基本部件和重要因素,人们将探讨应用Spring Boot搭建服务项目、服务项目整治、负载均衡、服务项目试错、API网关ip、配备管理中心、事件驱动、服务项目安全性、服务项目监控器、服务项目检测和Docker与服务项目布署等关键主题风格,并根据这种关键主题风格得出实际的经典案例。
目录
- 第1章 微服务架构设计 1
- 1.1 直面微服务架构 1
- 1.1.1 分布式系统与微服务架构 1
- 1.1.2 微服务架构的优势与挑战 3
- 1.1.3 实施微服务架构 5
- 1.2 服务建模方法 6
- 1.2.1 服务的模型 6
- 1.2.2 服务的边界 7
- 1.2.3 服务的数据 7
- 1.3 服务拆分与集成 8
- 1.3.1 服务拆分 8
- 1.3.2 服务集成 9
- 1.4 微服务架构的基础组件和
- 关键要素 10
- 1.4.1 微服务架构的基础组件 11
- 1.4.2 微服务架构的关键元素 11
- 1.5 实现微服务架构 13
- 1.5.1 微服务架构技术体系 13
- 1.5.2 微服务架构实现技术选型 14
- 1.6 案例分析 17
- 1.7 全书架构 18
- 1.8 本章小结 19
- 第2章 使用Spring Boot构建
- 服务 21
- 2.1 引入Spring Boot 21
- 2.2 基于Spring Boot的第一个服务 23
- 2.2.1 环境准备 23
- 2.2.2 实现RESTful服务 24
- 2.3 Spring Boot常见功能 28
- 2.3.1 集成Spring Data 28
- 2.3.2 集成消息中间件 37
- 2.3.3 系统监控 39
- 2.4 Spring Boot基本原理 44
- 2.5 本章小结 46
- 第3章 Spring Cloud Netflix
- Eureka与服务治理 47
- 3.1 服务治理解决方案 48
- 3.1.1 服务治理的需求和模型 48
- 3.1.2 服务治理的基本方案 49
- 3.2 构建Eureka服务 52
- 3.2.1 构建单个Eureka服务器 52
- 3.2.2 构建Eureka服务器集群 55
- 3.3 使用Eureka注册和发现服务 57
- 3.3.1 通过配置实现服务注册 58
- 3.3.2 获取服务注册信息 59
- 3.4 Eureka基本架构 61
- 3.4.1 Eureka服务注册和发现架构 61
- 3.4.2 Eureka高可用架构 64
- 3.4.3 Eureka区域亲和性 65
- 3.5 本章小结 66
- 第4章 Spring Cloud Netflix Ribbon
- 与负载均衡 67
- 4.1 负载均衡 68
- 4.1.1 负载均衡的类型 68
- 4.1.2 负载均衡的算法 70
- 4.2 使用Ribbon实现客户端负载均衡 71
- 4.2.1 Spring Cloud Netflix Ribbon
- 简介 71
- 4.2.2 使用DiscoveryClient查找服务 72
- 4.2.3 通过RestTemplate调用服务 74
- 4.3 Ribbon基本架构 78
- 4.3.1 Ribbon核心机制 79
- 4.3.2 Ribbon负载均衡策略 81
- 4.3.3 @LoadBalanced注解与
- RestTemplate 82
- 4.3.4 @RibbonClient注解与自定义
- 负载均衡策略 83
- 4.4 本章小结 85
- 第5章 Spring Cloud Netflix
- Hystrix与服务容错 86
- 5.1 服务消费者容错思想和模式 87
- 5.1.1 服务消费者容错的需求 87
- 5.1.2 服务隔离 88
- 5.1.3 服务熔断 90
- 5.1.4 服务回退 91
- 5.2 使用Hystrix实现服务容错 91
- 5.2.1 引入Hystrix 92
- 5.2.2 使用Hystrix实现服务隔离 93
- 5.2.3 使用Hystrix实现服务熔断 96
- 5.2.4 使用Hystrix实现服务回退 99
- 5.3 Hystrix基本原理 101
- 5.3.1 服务隔离 101
- 5.3.2 服务熔断 103
- 5.3.3 Hystrix配置项 105
- 5.4 本章小结 109
- 第6章 Spring Cloud Netflix Zuul
- 与API网关 110
- 6.1 服务网关的设计理念 111
- 6.1.1 服务网关的作用 111
- 6.1.2 服务网关的结构和功能 112
- 6.2 使用Zuul构建服务网关 113
- 6.2.1 构建Zuul服务器 113
- 6.2.2 配置Zuul服务路由 115
- 6.3 Zuul基本架构 120
- 6.3.1 ZuulFilter组件架构 120
- 6.3.2 使用Zuul过滤器 124
- 6.4 本章小结 129
- 第7章 Spring Cloud Config
- 与配置中心 130
- 7.1 分布式配置中心方案 131
- 7.1.1 分布式配置模型 131
- 7.1.2 配置中心实现工具 133
- 7.2 构建配置中心服务器 134
- 7.2.1 引入Spring Cloud Config 134
- 7.2.2 实现基于本地文件系统的
- 配置方案 135
- 7.2.3 实现基于Git的配置方案 139
- 7.3 使用配置服务 140
- 7.3.1 访问配置项 141
- 7.3.2 配置数据安全性 145
- 7.4 Spring Cloud Config特性 148
- 7.4.1 Spring Cloud Config对比
- Zookeeper 148
- 7.4.2 Spring Cloud Config高可用 149
- 7.5 本章小结 150
- 第8章 Spring Cloud Stream与
- 事件驱动 151
- 8.1 事件驱动架构与模型 152
- 8.1.1 基本事件驱动架构与实现
- 机制 152
- 8.1.2 事件驱动与领域模型 155
- 8.2 引入Spring Cloud Stream 157
- 8.2.1 Spring Cloud Stream基本
- 架构 157
- 8.2.2 Spring Cloud Stream与Spring
- Integration 159
- 8.2.3 Spring Cloud Stream与消息
- 中间件 162
- 8.3 实现消息发布者 165
- 8.3.1 消息发送场景与实现流程 165
- 8.3.2 在服务中添加消息发布者 166
- 8.4 实现消息消费者 170
- 8.4.1 消息消费场景与实现流程 170
- 8.4.2 在服务中添加消息消费者 172
- 8.5 本章小结 177
- 第9章 Spring Cloud Security与
- 服务安全 178
- 9.1 服务访问安全性与OAuth协议 178
- 9.1.1 微服务架构中的安全性设计 179
- 9.1.2 OAuth协议 180
- 9.2 构建OAuth认证服务器 184
- 9.2.1 引入Spring Cloud Security 185
- 9.2.2 初始化用户与客户端 186
- 9.2.3 生成Token 191
- 9.3 使用OAuth保护服务访问 195
- 9.3.1 集成OAuth认证服务 195
- 9.3.2 创建服务访问策略 196
- 9.3.3 使用OAuth2RestTemplate
- 传播Token 201
- 9.4 本章小结 206
- 第10章 Spring Cloud Sleuth与
- 服务监控 207
- 10.1 服务监控与Spring Cloud Sleuth 207
- 10.1.1 服务监控基本原理 207
- 10.1.2 引入Spring Cloud Sleuth 209
- 10.2 整合Spring Cloud Sleuth与
- Zipkin 215
- 10.2.1 Zipkin基本结构 215
- 10.2.2 引入Zipkin 216
- 10.2.3 使用Zipkin跟踪服务调用
- 链路 218
- 10.2.4 使用Zipkin实现自定义
- 跟踪 226
- 10.3 本章小结 228
- 第11章 Spring Test与服务测试 230
- 11.1 微服务测试的方法 231
- 11.1.1 单元测试 231
- 11.1.2 集成测试 233
- 11.1.3 端到端测试 233
- 11.2 测试Spring Boot应用程序 234
- 11.2.1 初始化测试环境 234
- 11.2.2 执行单元测试 237
- 11.3 使用Mock和注解实施集成
- 测试 241
- 11.3.1 使用@JsonTest注解测试
- JSON数据 242
- 11.3.2 使用@DataJpaTest注解测试
- Repository层 244
- 11.3.3 使用Mock测试Service层 248
- 11.3.4 使用Mock和@WebMvcTest
- 注解测试Controller层 252
- 11.4 消费者驱动的契约测试 254
- 11.4.1 面向契约的端对端测试 254
- 11.4.2 实现面向契约的端对端
- 测试 257
- 11.5 本章小结 266
- 第12章 Docker与服务部署 267
- 12.1 Docker与微服务架构 267
- 12.1.1 Docker的优势 268
- 12.1.2 Docker组件与命令 268
- 12.2 使用Dockerfile构建服务镜像 272
- 12.2.1 Dockerfile命令 272
- 12.2.2 使用Dockerfile命令构建
- 镜像 273
- 12.3 使用Docker Compose编排
- 服务 276
- 12.3.1 Docker Compose组件与
- 命令 276
- 12.3.2 使用Docker Compose 279
- 12.3.3 Docker Compose案例分析 281
- 12.4 本章小结 283
- 参考文献 284