书籍详情

Spring Boot+Spring Cloud+Spring Cloud Alibaba微服务训练营

Spring Boot+Spring Cloud+Spring Cloud Alibaba微服务训练营

作者:黄文毅 著

出版社:清华大学出版社

出版时间:2021-07-01

ISBN:9787302582236

定价:¥99.00

购买这本书可以去
内容简介
  本书以分布式微服务项目需求为主线,系统地介绍了Spring Boot、Spring Cloud、Spring Cloud Alibaba的生产级特性、重要组件及核心技术,包括服务治理、服务注册与发现、负载均衡等分布式框架所需要的各种功能。本书共分为14章。第1章主要讲解Spring Boot的重要功能特性以及阅读本书之前需要准备的环境。第2章主要介绍Spring Cloud和Spring Cloud Alibaba模块、版本以及之间的关系。第3章主要介绍注册中心和配置中心Nacos以及其他开源的组件。第4章主要讲解微服务网关Spring Cloud Gateway和Zuul。第5、6章主要讲解负载均衡组件Ribbon和微服务调用组件OpenFeign。第7章主要讲解服务限流、降级、容错以及熔断等技术,包括Hystrix组件和Sentinel组件。第8、9章主要介绍Spring Cloud Bus消息总线、分布式事务解决方案Seata。第10、11章主要讲解链路追踪组件Spring Cloud Sleuth和Zipkin,以及Spring Cloud Commons基础包。第12章主要讲解如何通过OAuth 2.0进行授权。第13章主要讲解微服务和组件容器化。第14章主要介绍分布式微服务架构的具体案例。 本书技术先进,贴近实践,讲练结合,适合具有Java基础或1~2年开发经验的读者使用,也可作为网课、培训机构和大专院校的教学用书。
作者简介
  黄文毅,Java架构师,从业8年,CSDN博客专家,曾先后就职于厦门星耀蓝图、上海美团、厦门美图等科技公司,目前就职于厦门海西医药,主要从事后端开发工作,对分布式技术与微服务架构,具有深刻理解与丰富的实践经验。已出版《一步一步学Spring Boot微服务项目实战》(清华大学出版社,2019年)、《微服务架构原理与实践》(清华大学出版社,2019年)等图书。
目录
第1章 从Spring Boot开始 1 1.1 环境准备 1 1.1.1 安装JDK 1 1.1.2 安装Intellij IDEA 4 1.1.3 安装Maven 4 1.1.4 Docker概述 5 1.2 Spring Boot简介 14 1.3 第#一个Spring Boot项目 16 1.3.1 使用Spring Initializr新建项目 16 1.3.2 测试 18 1.4 Spring Boot目录介绍 19 1.4.1 Spring Boot工程目录 19 1.4.2 Spring Boot入口类 20 1.4.3 Spring Boot测试类 20 1.4.4 pom.xml文件 21 1.5 Spring Boot生产级特性 23 1.5.1 应用监控 23 1.5.2 健康检查 26 1.5.3 跨域访问 27 1.5.4 外部配置 28 1.6 Spring Boot原理解析 29 1.6.1 DemoApplication入口类 29 1.6.2 @SpringBootApplication的原理 29 1.6.3 SpringApplication的run方法 31 1.6.4 SpringApplicationRunListener监听器 32 1.6.5 ApplicationContextInitializer接口 32 1.6.6 ApplicationRunner与CommandLineRunner 34 1.7 SpringApplication的执行流程 35 1.7.1 spring-boot-starter原理 36 1.7.2 Bean参数获取 39 1.7.3 Bean的发现与加载 40 1.7.4 自定义starter 46 第2章 Spring Cloud/Spring Cloud Alibaba 52 2.1 Spring Cloud介绍 52 2.1.1 Spring Cloud的特性 52 2.1.2 Spring Cloud的模块 53 2.1.3 Spring Cloud版本介绍 54 2.1.4 Spring Cloud与Spring Boot的关系 55 2.2 Spring Cloud Alibaba简介 55 2.2.1 Spring Cloud Alibaba的主要功能 55 2.2.2 Spring Cloud Alibaba组件 56 2.2.3 Spring Cloud Alibaba版本简介 57 2.4 Netflix/Spring Cloud/Spring Cloud Alibaba的关系 58 第3章 注册中心/配置管理 59 3.1 Nacos简介 59 3.2 Nacos快速开始 60 3.2.1 Nacos Server单机模式 60 3.2.2 Nacos Server集群模式 63 3.2.3 Nacos Nginx集群模式 66 3.3 Spring Boot注册到Nacos 67 3.3.1 Nacos配置管理 67 3.3.2 Nacos服务注册 69 3.4 Nacos Spring Cloud 70 3.4.1 Nacos配置管理 70 3.4.2 Nacos服务注册 72 3.5 Nacos原理解析 75 3.5.1 Nacos配置中心原理分析 75 3.5.2 Nacos服务发现原理分析 84 3.6 Eureka服务发现 86 3.6.1 Eureka简介 86 3.6.2 如何看待Eureka停产 88 3.6.3 搭建Eureka注册中心 88 3.6.4 搭建Eureka注册中心集群 92 3.7 Spring Cloud Consul 95 3.7.1 Consul简介 95 3.7.2 Consul安装与启动 95 3.7.3 Consul服务注册与发现 96 3.7.4 Consul配置中心 100 3.7.5 Consul简单架构 103 3.8 Spring Cloud Config 104 3.8.1 Spring Cloud Config简介 104 3.8.2 Spring Cloud Config快速入门 105 3.8.3 Spring Cloud Config配置中心原理 108 第4章 微服务网关 109 4.1 Zuul网关 109 4.1.1 Zuul概述 109 4.1.2 Zuul快速入门 110 4.1.3 Zuul路由配置 111 4.1.4 Zuul过滤器 112 4.1.5 管理端点 114 4.1.6 禁用Zuul过滤器 115 4.1.7 启用Zuul跨域请求 115 4.1.8 Eureka整合Zuul 116 4.2 Spring Cloud Gateway 120 4.2.1 Gateway简介 120 4.2.2 Gateway快速入门 121 4.2.3 Gateway路由断言工厂 123 4.2.4 Gateway过滤器工厂 127 4.2.5 Gateway全局过滤器 128 4.2.6 Gateway跨域 131 4.2.7 Gateway Actuator API 132 4.2.8 HTTP超时配置 134 4.2.9 TLS / SSL设置 135 4.2.10 Gateway底层原理 136 4.3 Gateway与Zuul的区别 137 第5章 Ribbon负载均衡 138 5.1 Ribbon基础知识 138 5.1.1 Ribbon简介 138 5.1.2 负载均衡算法 140 5.1.3 第#一个Ribbon程序 144 5.2 Ribbon实战 147 5.2.1 Ribbon自定义负载均衡策略 147 5.2.2 Ribbon饥饿加载 151 5.2.3 Ribbon默认配置 151 5.2.4 配置文件定义Ribbon客户端 152 5.2.5 直接使用Ribbon API 153 5.2.6 Eureka/Nacos整合Ribbon 153 第6章 Spring Cloud OpenFeign声明式调用 155 6.1 Spring Cloud Feign 155 6.1.1 Feign简介 155 6.1.2 第#一个Feign程序 156 6.2 FeignClient详解与配置 161 6.2.1 @FeignClient详解 161 6.2.2 Feign Hystrix错误回退 166 6.2.3 Feign @QueryMap支持 167 6.2.4 HATEOAS支持 167 6.2.5 Spring @MatrixVariable支持 168 6.2.6 Feign继承支持 168 6.2.7 Feign CollectionFormat支持 169 6.2.8 Feign请求响应压缩 169 6.3 Feign日志配置 170 6.3.1 Java代码方式 170 6.3.2 配置文件方式 171 6.3.3 全局日志配置 171 6.4 自定义处理 172 6.4.1 Feign自定义错误 172 6.4.2 Feign拦截器 176 6.4.3 自定义Feign客户端 177 第7章 熔断、限流、降级 179 7.1 Spring Cloud Hystrix 179 7.1.1 Hystrix简介 179 7.1.2 Hystrix初体验 182 7.1.3 Hystrix请求缓存 184 7.1.4 Hystrix请求合并 187 7.1.5 Hystrix默认配置 190 7.1.6 Hystrix配置详解 191 7.2 Hystrix工作流程 194 7.3 Hystrix监控 196 7.3.1 Spring Boot应用配置Hystrix仪表板 197 7.3.2 Turbine集群监控 200 7.4 Sentinel 204 7.4.1 Sentinel简介 204 7.4.2 限流算法 204 7.4.3 Sentinel项目结构 206 7.4.4 Sentinel与Hystrix的区别 207 7.4.5 Sentinel控制台 207 7.4.6 客户端接入控制台 209 7.4.7 Sentinel微服务限流 210 第8章 Spring Cloud Bus消息总线 214 8.1 Kafka实现消息总线 214 8.1.1 Kafka概述 214 8.1.2 Kafka安装 217 8.1.3 Docker安装ZooKeeper和Kafka 219 8.2 Stream简介 219 8.2.1 核心概念 219 8.2.2 Stream应用编程模型 220 8.2.3 Binder抽象 220 8.2.4 发布—订阅 221 8.2.5 消费组 221 8.2.6 分区支持 221 8.2.7 健康指标 221 8.3 Spring Cloud Stream实战 222 8.3.1 Stream快速入门 222 8.3.2 生产者的另一种实现 227 8.3.3 生产和消费消息 229 8.4 Bus简介 232 8.4.1 Bus消息总线 232 8.4.2 Spring事件机制 232 8.4.3 Spring Cloud Bus实战 235 8.4.4 Spring Cloud Bus原理 239 8.4.5 Spring Cloud Bus端点 240 8.4.6 Bus事件追踪 240 第9章 Spring Cloud Alibaba Seata分布式事务 243 9.1 Seata基础知识 243 9.1.1 Seata简介 243 9.1.2 Seata部署 244 9.1.3 Seata原理与设计 246 9.2 Seata使用 247 9.2.1 数据库准备 247 9.2.2 创建微服务 248 第10章 Spring Cloud Sleuth服务链路追踪 257 10.1 Spring Cloud Sleuth简介 257 10.2 Zipkin简介 259 10.3 Spring Cloud Sleuth整合Zipkin 261 10.3.1 整合Zipkin 261 10.3.2 MySQL存储链路数据 265 10.3.3 Sleuth抽样采集 267 10.3.4 Trace和Span 268 10.4 Spring Cloud Sleuth整合ELK 271 10.5 Sleuth原理浅析 275 10.5.1 TraceId传递 275 10.5.2 spring.factories配置文件 276 10.5.3 TraceEnvironmentPostProcessor处理日志 278 10.5.4 TraceAutoConfiguration 279 10.5.5 TracingFilter过滤器 280 10.5.6 TraceWebClientAutoConfiguration 283 第11章 Spring Cloud Commons 286 11.1 Spring Cloud Commons简介 286 11.2 Spring Cloud Context功能 286 11.2.1 bootstrap应用程序上下文 286 11.2.2 修改bootstrap.properties位置 287 11.2.3 覆盖远程属性的值 287 11.2.4 自定义bootstrap配置 287 11.2.5 刷新范围 288 11.2.6 加密与解密 288 11.2.7 Endpoints端点 288 11.3 Spring Cloud Commons功能 289 11.3.1 @EnableDiscoveryClient注解 289 11.3.2 服务注册ServiceRegistry 290 11.3.3 多个RestTemplate实例 290 11.3.4 多个WebClient实例 291 11.3.5 忽略网卡 293 11.3.6 HTTP客户端工厂 293 11.3.7 启用功能特性 294 11.3.8 Spring Cloud兼容性验证 295 11.4 Spring Cloud LoadBalancer 295 11.4.1 LoadBalancer简介 295 11.4.2 Spring Cloud LoadBalancer缓存 296 11.4.3 Spring Cloud LoadBalancer Starter 296 11.4.4 自定义Spring Cloud LoadBalancer配置 297 11.5 Spring Cloud Circuit Breaker 297 11.5.1 Circuit Breaker介绍 297 11.5.2 核心概念 298 11.5.3 配置断路器 299 11.6 具备缓存功能随机数 300 第12章 Spring Cloud OAuth 2.0保护API安全 301 12.1 使用OAuth 2.0进行授权 301 12.1.1 OAuth 2.0简介 301 12.1.2 OAuth 2.0协议流程 302 12.1.3 认证与授权 302 12.1.4 OAuth 2.0的授权方式 303 12.1.5 Spring Cloud Security OAuth 2.0认证流程 305 12.2 搭建OAuth 2.0服务 306 12.2.1 快速搭建OAuth 2.0服务 306 12.2.2 授权码模式实现 308 12.3 JWT简介 313 12.3.1 JWT的结构 313 12.3.2 JWT的应用 315 12.3.3 Spring Security OAuth 2.0 JWT应用 315 第13章 Spring Cloud组件容器化 336 13.1 Spring Boot项目容器化 336 13.1.1 制作镜像 336 13.1.2 使用Dockerfile构建镜像 338 13.1.3 Spring Boot集成Docker 341 13.2 Spring Cloud Alibaba组件容器化 345 13.2.1 Nacos Docker 345 13.2.2 Sentinel Docker 346 13.2.3 Seata Docker 346 第14章 使用Spring Cloud构建微服务综合案例 348 14.1 案例介绍 348 14.2 技术选型 348 14.2.1 Spring Boot构建微服务 348 14.2.2 Nacos注册/配置中心 350 14.2.3 Spring Cloud Gateway网关 352 14.2.4 OpenFeign服务调用 355 14.2.5 Ribbon负载均衡 355 14.2.6 Sentinel熔断/降级/限流 356 14.2.7 ELK FileBeat日志系统 357 14.2.8 Promethous Grafana InfluxDB监控系统 359 14.2.9 SkyWalking链路追踪系统 363 14.3 总结 365 参考文献 366
猜您喜欢

读书导航