Spring Cloud微服务架构实战派 版权信息
- ISBN:9787121386251
- 条形码:9787121386251 ; 978-7-121-38625-1
- 装帧:平装-胶订
- 册数:暂无
- 重量:暂无
- 所属分类:>>
Spring Cloud微服务架构实战派 本书特色
本书针对针对Spring Cloud Greenwich.SR2版本 Spring Boot的2.1.x.RELEASE版本。
在编写过程中,不仅考虑到企业任职所需的技能,还考虑到求职面试时可能会遇到的知识点。
本书采用“知识点 实例”形式编写,共有“39个基于知识点的实例 1个综合性项目”,深入讲解了Spring Cloud的各类组件、微服务架构的解决方案和开发实践,以及容器、Kubernetes和Jenkins等DevOps(开发运维一体化)相关知识。
本书的主脉络是:是什么,为什么用,怎样用,为什么要这样用,如何用得更好,有什么**的实践。
Spring Cloud微服务架构实战派 内容简介
本书采用“知识点+实例”形式编写, 共有“39个基于知识点的实例 + 1个综合性项目”, 深入讲解了Spring Cloud的各类组件、微服务架构的解决方案和开发实践, 以及容器、Kubernetes和Jenkins等DevOps (开发运维一体化) 相关知识。
Spring Cloud微服务架构实战派 目录
-------------第1篇 入门
-
第1章 进入微服务世界 2
1.1 系统架构的发展阶段 2
|1.1.1 单体应用阶段 2
|1.1.2 垂直应用阶段 3
|1.1.3 分布式系统阶段 4
|1.1.4 服务治理阶段 5
|1.1.5 微服务阶段 6
|1.1.6 服务网格阶段 6
1.2 主流的微服务框架 8
|1.2.1 主流微服务框架一览表 8
|1.2.2 Dubbo 9
|1.2.3 Spring Cloud 10
1.3 服务网格(Service Mesh)框架Istio 11
1.4 比较Dubbo、Spring Cloud和Istio 12
|1.4.1 对比架构 12
|1.4.2 对比各项数据 15
|1.4.3 总结 15
-
第2章 准备开发环境和工具 17
2.1 搭建环境 17
|2.1.1 安装Java开发环境JDK 17
|2.1.2 配置JDK的环境变量 18
2.2 安装和配置Maven 20
|2.2.1 安装和配置 20
|2.2.2 认识pom.xml文件 22
|2.2.3 了解Maven的运作方式 25
|2.2.4 配置国内仓库 26
2.3 安装及配置开发工具IDEA 27
|2.3.1 安装IDEA 27
|2.3.2 配置IDEA的Maven环境 29
|2.3.3 安装Spring Assistant插件 29
2.4 安装及配置开发工具Eclipse 30
|2.4.1 安装Eclipse 30
|2.4.2 安装Spring Tools 4插件 30
|2.4.3 配置Eclipse的Maven环境 31
|2.4.4 创建Spring Cloud项目 32
2.5 熟悉Spring官方开发工具STS 32
2.6 如何使用本书源码 33
|2.6.1 在IDEA中使用 33
|2.6.2 在Eclipse(STS)中使用 33
-
第3章 实例1:用Spring Cloud实现一个微服务系统 35
3.1 本实例的架构和实现步骤 35
3.2 创建Spring Cloud项目 36
3.3 用Eureka实现“服务中心” 37
|3.3.1 添加配置 37
|3.3.2 实现“服务中心”集群(满足高可用) 38
|3.3.3 打包和部署“服务中心” 40
3.4 用Eureka实现“服务提供者” 42
|3.4.1 实现“服务提供者”的客户端 42
|3.4.2 实现“服务提供者”的接口 44
|3.4.3 检查服务的有效性 44
|3.4.4 实现“服务提供者”集群 44
3.5 用Feign实现“服务消费者” 45
|3.5.1 用Feign实现“服务消费者”的客户端 45
|3.5.2 调用“服务提供者”的接口 46
3.6 测试微服务系统 48
-
-------------第2篇 基础
-
第4章 认识微服务 50
4.1 微服务的优点和缺点 50
|4.1.1 微服务的优点 50
|4.1.2 微服务的缺点 52
4.2 微服务设计的原则 53
4.3 领域驱动设计(DDD) 56
4.4 跨服务的事务管理模式 57
|4.4.1 2PC/3PC算法模式 58
|4.4.2 TCC事务机制模式 60
|4.4.3 消息中间件模式 60
|4.4.4 Saga模式 61
|4.4.5 Paxos算法模式 61
4.5 跨服务的查询模式 62
|4.5.1 API组合器模式 62
|4.5.2 CQRS模式 62
4.6 微服务部署 63
|4.6.1 部署模式 63
|4.6.2 升级模式 64
4.7 微服务架构与云原生的关系 66
|4.7.1 了解云原生 66
|4.7.2 微服务架构和云原生架构的区别 67
-
第5章 Spring Cloud基础 68
5.1 了解Spring Cloud生态 68
|5.1.1 Spring Cloud的总体架构 68
|5.1.2 主要子项目 69
|5.1.3 Netflix家族项目 70
|5.1.4 阿里巴巴家族项目 71
|5.1.5 其他子项目 72
|5.1.6 常用的技术栈 73
5.2 了解Spring Cloud 74
|5.2.1 Spring Cloud与Spring、Spring Boot的关系 74
|5.2.2 Spring Cloud的版本 76
|5.2.3 Spring Cloud项目的结构 77
|5.2.4 Spring Cloud的入口类 78
|5.2.5 Spring Cloud的自动配置 78
|5.2.6 开箱即用 79
5.3 了解注解 80
|5.3.1 什么是注解 80
|5.3.2 Spring Boot的系统注解 80
|5.3.3 Spring Boot的常用注解 81
|5.3.4 Spring Cloud的常用注解 86
5.4 了解Starter 87
|5.4.1 Spring Boot的Starter 87
|5.4.2 Spring Cloud的Starter 88
|5.4.3 如何使用Starter 88
5.5 使用配置文件 88
|5.5.1 配置文件application.properties 89
|5.5.2 实例2:使用配置文件application.properties 91
|5.5.3 配置文件application.yml 93
|5.5.4 实例3:使用配置文件application.yml 94
|5.5.5 实例4:用application.yml和application.properties配置多环境 98
|5.5.6 了解application.yml和application.properties的迁移 100
|5.5.7 比较配置文件bootstrap和application 100
5.6 应用程序分层开发模式——MVC 101
|5.6.1 了解MVC模式 101
|5.6.2 MVC和三层架构的关系 102
5.7 响应式编程——WebFlux 103
|5.7.1 什么是WebFlux 103
|5.7.2 比较MVC和WebFlux 103
|5.7.3 比较Mono和Flux 105
|5.7.4 开发WebFlux的流程 106
5.8 了解Spring Cloud Commons 106
|5.8.1 Spring Cloud的上下文 107
|5.8.2 Spring Cloud的公共抽象类 107
-
-------------第3篇 进阶
-
第6章 用Consul实现服务治理 110
6.1 为什么需要服务治理 110
6.2 主流的“服务中心” 111
|6.2.1 Eureka 111
|6.2.2 Zookeeper 112
|6.2.3 ETCD 113
|6.2.4 Consul 113
|6.2.5 比较Eureka、Consul、ETCD、Zookeeper和Nacos 114
|6.2.6 了解CAP(一致性、可用性、分区容错性) 115
|6.2.7 在容器化时代如何选择“服务中心” 115
6.3 认识“服务发现”接口 116
|6.3.1 如何进行服务的注册和发现 116
|6.3.2 @EnableDiscoveryClient与@EnableEurekaClient的区别 117
6.4 认识Consul 117
|6.4.1 Consul的术语 117
|6.4.2 Consul的工作原理 118
|6.4.3 集群的实现原理 119
|6.4.4 健康检查 120
|6.4.5 安装和实现Consul集群 122
|6.4.6 在Linux中构建Consul集群 124
6.5 实例5:用Consul实现“服务提供者”集群和“服务消费者” 125
|6.5.1 实现“服务提供者”集群 126
|6.5.2 实现“服务消费者” 128
6.6 将“服务中心”从Eureka迁移到Consul 129
-
第7章 用Ribbon和Feign实现客户端负载均衡和服务调用 130
7.1 认识负载均衡 130
|7.1.1 服务器端负载均衡 130
|7.1.2 客户端负载均衡 131
7.2 认识Ribbon 131
|7.2.1 Ribbon的工作原理 131
|7.2.2 Ribbon的主要组件 132
|7.2.3 认识负载均衡器 133
|7.2.4 了解注解@LoadBalanced 135
|7.2.5 Ping机制 136
7.3 认识负载均衡策略 137
|7.3.1 Ribbon支持的9大负载均衡策略 137
|7.3.2 实例6:自定义负载均衡策略 139
7.4 实例7:在没有“服务中心”的情况下,实现自维护的客户端负载均衡 141
|7.4.1 添加依赖和配置,并启用客户端负载均衡 142
|7.4.2 编写负载均衡控制器 143
|7.4.3 测试客户端负载均衡 143
7.5 了解Feign 143
|7.5.1 Feign简介 143
|7.5.2 了解Feign的Bean 144
|7.5.3 压缩请求和响应 145
|7.5.4 了解注解@QueryMap 145
|7.5.5 使用Feign 146
7.6 实例8:覆盖Feign的默认配置 147
|7.6.1 添加
展开全部
Spring Cloud微服务架构实战派 作者简介
龙中华
12年来一直在某一线互联网公司担任资深系统分析师。目前带领3个研发团队,承担系统的分析、设计、实施、演进,以及技术团队管理和培训等职责。
有独到的团队建设和管理经验,对互联网多种技术特点和发展趋势有较深入的研究,对多种技术(如Spring Boot、Spring Cloud和Service Mesh)有深入的研究和实战经验。