网站首页  软件下载  游戏下载  翻译软件  电子书下载  电影下载  电视剧下载  教程攻略

请输入您要查询的图书:

 

书名 Spring Cloud开发实战
分类
作者 徐文聪
出版社 电子工业出版社
下载
简介
内容简介
本书是一本Spring Cloud开发的入门级教程图书,也是一本着重于动手实战的编程指导书。随着这两年Spring Cloud开发的日渐火热,无论是对于编程工作者、编程讲师或是编程爱好者与学生,掌握SpringCloud 开发技能都将为自己带来极大的收获。本书分15个章节对Spring Cloud的各种组件进行全面讲解,并针对某个组件的替代产品进行针对性的比较。有Spring Cloud的注册中心Eureka,Consul;网关组件Zuul和Gateway;异步消息队列Kafka,配置中心config等。本书章节简明扼要,务求用最简洁的文字和代码将整个Spring Cloud技术体系进行讲解说明,读者在阅读的过程中也能收获匪浅。
作者简介
徐文聪目前在一线互联网公司担任后端开发,承担百万日活的产品后端研发。对高并发和性能优化方面有不少经验,对技术有极致的追求Github和Gitee活跃用户。
目录

目 录

第1章 Spring Cloud微服务简介 001

1.1 单体应用架构 001

1.1.1 单体应用架构简介 001

1.1.2 单体应用架构的优势 001

1.1.3 单体应用架构的劣势 002

1.2 微服务架构 002

1.2.1 微服务架构简介 002

1.2.2 微服务的来源 002

1.2.3 微服务的优点 002

1.2.4 微服务的缺点 003

1.2.5 微服务架构的选择 003

1.3 Spring Cloud介绍 004

1.3.1 Spring Cloud的概念 004

1.3.2 Spring Cloud的组件 005

1.3.3 Spring Cloud版本介绍 005

1.3.4 Spring Boot简介 005

1.3.5 Spring Boot和Spring Cloud的关系 006

1.4 本章小结 006

第2章 微服务开发工具 007

2.1 IDEA基本配置 007

2.1.1 IDEA的安装 007

2.1.2 字体设置 007

2.1.3 自动编译开源 009

2.1.4 代码提示设置 009

2.1.5 Tab多行显示 009

2.1.6 去掉行尾空格 011

2.1.7 设置行号显示 011

2.1.8 项目文件编码 012

2.1.9 自动导入包 013

2.2 IDEA快捷键 013

2.2.1 快捷键函数收尾 014

2.2.2 去掉无效引用 014

2.2.3 打开最近使用的文件 015

2.2.4 快速搜索文件 015

2.2.5 快速查找方法 016

2.2.6 快速搜索目录 016

2.2.7 快速切换编辑框 016

2.2.8 查看层级关系 017

2.2.9 展开成员变量 017

2.2.10 方法参数类型提示 018

2.2.11 查看方法调用 018

2.2.12 同词编辑 019

2.3 代码相关技巧 020

2.3.1 打开最近的项目 020

2.3.2 本地代码历史 021

2.3.3 展示类成员变量 022

2.3.4 内存展示 023

2.3.5 查看项目结构 024

2.3.6 多线程断点调试 025

2.3.7 同步显示类 026

2.4 IDEA代码模板配置 027

2.4.1 代码模板定制 027

2.4.2 注释生成 027

2.4.3 生成Java类模板 028

2.5 IDEA插件介绍 031

2.5.1 阿里巴巴规范插件 031

2.5.2 stackoverflow搜索插件 031

2.5.3 Maven Helper 032

2.5.4 POJO to JSON插件 033

2.5.5 GsonFormat插件 034

2.5.6 Grep Console日志查询工具 036

2.5.7 Redis可视化工具 037

2.5.8 代码高亮工具 038

2.5.9 翻译插件 039

2.5.10 字符串标记JSON 040

2.6 本章小结 041

第3章 注册中心 042

3.1 Eureka客户端 042

3.1.1 Eureka客户端依赖 042

3.1.2 Eureka客户端文件配置 043

3.2 Eureka服务端 044

3.2.1 Eureka服务端组件依赖 044

3.2.2 Eureka服务端文件配置 045

3.2.3 Eureka服务端启动类 046

3.2.4 注册中心启动 046

3.3 Eureka常用配置 047

3.3.1 Eureka权限认证 047

3.3.2 Eureka健康检查 047

3.4 Consul注册中心 048

3.4.1 Consul安装和启动 048

3.4.2 Consul服务端依赖 050

3.4.3 Consul服务端文件配置 050

3.4.4 Consul服务端启动类 051

3.4.5 Consul客户端文件配置 051

3.4.6 Consul客户端业务逻辑 052

3.5 本章小结 054

第4章 Feign客户端 055

4.1 Feign实例 055

4.1.1 Feign项目结构 055

4.1.2 Feign客户端依赖 055

4.1.3 Feign客户端文件配置 057

4.1.4 Feign客户端启动类配置 058

4.1.5 Feign的配置方式 058

4.1.6 Spring两种类型的bean对象 058

4.1.7 Feign客户端接口定义 059

4.1.8 Feign服务端依赖 059

4.1.9 Feign服务端文件配置 060

4.1.10 Feign服务端启动类 061

4.1.11 Feign服务端控制器 061

4.1.12 Feign项目启动 062

4.2 Feign请求 062

4.2.1 Feign get请求 062

4.2.2 Feign post请求 063

4.2.3 Feign服务降级 064

4.3 Feign高级配置 064

4.3.1 Feign安全认证配置 064

4.3.2 Feign超时配置 065

4.3.3 Feign日志配置 065

4.3.4 Feign核心类 066

4.4 Feign整合Zipkin 066

4.4.1 项目结构 066

4.4.2 Zipkin服务端依赖 067

4.4.3 Zipkin客户端依赖 069

4.4.4 Zipkin客户端配置文件 069

4.5 Hystrix注册中心 070

4.5.1 Hystrix原理 071

4.5.2 Hystrix项目结构 071

4.5.3 Hystrix注册中心依赖 071

4.5.4 Hystrix文件配置 072

4.5.5 Hystrix相关参数配置 072

4.5.6 Hystrix隔离策略 072

4.5.7 Eureka启动 073

4.6 构建Hystrix服务端 073

4.6.1 Hystrix服务端组件依赖 073

4.6.2 Hystrix文件配置 073

4.6.3 Hystrix启动类 074

4.6.4 Eureka配置文件 074

4.7 构建Hystrix客户端 075

4.7.1 Hystrix客户端依赖 075

4.7.2 Hystrix客户端启动配置 075

4.7.3 Hystrix增加控制类 076

4.7.4 Hystrix回退支持 077

4.8 本章小结 078

第5章 Ribbon负载均衡器 080

5.1 Ribbon注册中心 080

5.1.1 Eureka实例 080

5.1.2 Ribbon服务端实例 082

5.1.3 Ribbon客户端实例 084

5.1.4 Ribbon负载均衡 086

5.2 Ribbon常用配置 087

5.2.1 Ribbon注册中心状态设置 087

5.2.2 Ribbon注册中心超时设置 087

5.2.3 Ribbon路由配置 088

5.3 本章小结 090

第6章 Config配置中心 091

6.1 Config服务端 091

6.2 Config客户端 093

6.2.1 Config客户端依赖 093

6.2.2 Config客户端文件配置 095

6.2.3 动态配置刷新 096

6.3 本章小结 097

第7章 第三方配置中心 098

7.1 Apollo简介 098

7.1.1 Apollo的结构 098

7.1.2 Apollo配置环境 100

7.1.3 Apollo数据库配置 103

7.1.4 Apollo配置中心启动 107

7.2 Apollo配置中心 112

7.2.1 Apollo创建配置 112

7.2.2 Apollo新增配置 112

7.2.3 Apollo发布配置 113

7.2.4 Apollo启动 114

7.3 Apollo集群 115

7.3.1 集群配置 115

7.3.2 管理员工具 116

7.3.3 Apollo实例 124

7.4 Nacos配置中心 125

7.4.1 Nacos的安装 125

7.4.2 项目结构 127

7.4.3 Nacos服务端依赖 127

7.4.4 Nacos服务端 128

7.4.5 Nacos配置管理 131

7.5 ZooKeeper配置中心 132

7.5.1 ZooKeeper简介 132

7.5.2 使用场景 132

7.5.3 节点监控 133

7.5.4 ZooKeeper领导者选举 133

7.5.5 Watcher机制 134

7.5.6 ZooKeeper部署 135

7.5.7 zkui登录页面 137

7.5.8 ZooKeeper实例 139

7.6 本章小结 142

第8章 Zuul网关 143

8.1 Zuul基础实例 143

8.1.1 Zuul的作用 143

8.1.2 Zuul依赖 144

8.1.3 Zuul文件配置 144

8.1.4 启动类配置 144

8.2 Zuul实例 145

8.2.1 创建Eureka注册中心 145

8.2.2 Eureka客户端依赖 146

8.2.3 Eureka客户端文件配置 146

8.3 Zuul高级特性 148

8.3.1 路由前缀 148

8.3.2 本地跳转 149

8.3.3 过滤器实现种类 149

8.3.4 入口规则配置 154

8.3.5 Zuul过滤器生命周期 155

8.3.6 Zuul过滤器禁用 156

8.3.7 Zuul过滤器的数据传递 156

8.3.8 服务降级处理 158

8.3.9 全局限流配置 158

8.3.10 局部限流配置 158

8.4 本章小结 159

第9章 Gateway网关 160

9.1 Gateway简介 160

9.1.1 Gateway的组成 160

9.1.2 Gateway实例 161

9.1.3 Gateway转发规则 162

9.2 本章小结 165

第10章 Admin管理中心 166

10.1 Admin实例 166

10.1.1 Admin服务端 166

10.1.2 Admin客户端 167

10.1.3 创建Eureka项目 170

10.1.4 查看服务日志 171

10.2 Admin高级特性 171

10.2.1 集成Hystrix UI展示 171

10.2.2 Admin安全配置 172

10.2.3 拦截监控端点处理 175

10.2.4 Session监控 175

10.2.5 展示客户端JMX信息 176

10.2.6 监控客户端配置 176

10.2.7 服务端集成Hystrix UI展示 177

10.2.8 监控告警服务 177

10.3 本章小结 178

第11章 文档管理工具 179

11.1 Swagger实例构建 179

11.1.1 Swagger响应 179

11.1.2 Springfox-Swagger简介 180

11.1.3 Swagger相关依赖 180

11.1.4 Swagger文件配置 180

11.1.5 Swagger启动 181

11.2 Swagger注解 182

11.2.1 @Api接口注解 182

11.2.2 @ApiIgnore隐藏接口 183

11.2.3 @ApiOperation方法注解 183

11.2.4 @ApiImplicitParam参数注解 184

11.2.5 @ApiResponse和@ApiResponses响应注解 185

11.2.6 @ApiModel参数注解 185

11.2.7 @ApiModelProperty字段注解 186

11.3 Swagger实例 186

11.3.1 项目结构 186

11.3.2 项目配置文件 187

11.3.3 权限模块 187

11.3.4 用户模块 189

11.3.5 订单模块 191

11.3.6 支付模块 192

11.3.7 商城模块 193

11.3.8 启动应用 194

11.3.9 请求认证 195

11.4 Postman使用方式 195

11.4.1 Postman基本使用方法 195

11.4.2 Postman主页 196

11.4.3 创建新的接口 196

11.4.4 接口集合 198

11.5 本章小结 202

第12章 MongoDB数据库 203

12.1 MongoDB简介 203

12.1.1 MongoDB的结构 203

12.1.2 MongoDB的特点 204

12.1.3 应用场景 204

12.1.4 可视化客户端 205

12.1.5 下载和安装 206

12.2 MongoDB实例 208

12.2.1 MongoDB依赖 208

12.2.2 MongoDB创建数据库 209

12.2.3 创建实体 213

12.2.4 用户方法 221

12.2.5 订单方法 222

12.2.6 支付方法 224

12.2.7 商品方法 225

12.3 MongoDB高级特性 227

12.3.1 MongoDB存储引擎 227

12.3.2 WiredTiger引擎 227

12.3.3 In-Memory引擎 228

12.3.4 不同存储引擎的区别 229

12.3.5 写安全机制 229

12.3.6 事务管理 230

12.3.7 数据回滚机制 231

12.3.8 MongoDB数据备份 231

12.3.9 MongoDB内存释放 232

12.3.10 MongoDB复制集 232

12.3.11 MongoDB元数据 232

12.3.12 MongoDB分片 232

12.4 本章小结 234

第13章 Redis缓存 235

13.1 Redis的基础用法 235

13.1.1 Redis的安装和启动 235

13.1.2 Redis可视化客户端 237

13.2 Redis实例 239

13.2.1 Redis组件 240

13.2.2 Redis信息配置 240

13.2.3 Redis key值存在判断 242

13.2.4 Redis设置key值 242

13.2.5 Redis获取key值 244

13.2.6 Redis缓存值 244

13.2.7 Redis缓存时间 246

13.2.8 Redis缓存过期时间设置 248

13.2.9 Redis获取缓存时间 249

13.2.10 Redis缓存删除 249

13.2.11 Redis缓存集合添加 250

13.2.12 Redis缓存集合查询 251

13.2.13 Redis根据key获取set集合 252

13.2.14 Redis整合缓存方法 253

13.2.15 设置key在指定时间过期 255

13.2.16 模糊匹配删除key 256

13.2.17 持久化key 257

13.2.18 哈希存储 259

13.2.19 读取哈希值 260

13.2.20 删除哈希值 260

13.3 Redis高级特性 263

13.3.1 Redis内部结构 263

13.3.2 最大缓存配置 263

13.3.3 Redis容量估算 263

13.3.4 Redis数据淘汰策略 264

13.3.5 Redis缓存算法 264

13.3.6 Redis事务 265

13.3.7 分区 265

13.3.8 Redis的序列化 266

13.3.9 Redis过期键删除策略 266

13.3.10 Redis锁机制 267

13.3.11 Redis单线程 267

13.3.12 Redis常见注解 268

13.3.13 Redis集群模式 269

13.3.14 持久化机制 270

13.3.15 Redis危险命令 271

13.4 缓存异常情况 271

13.4.1 缓存雪崩 271

13.4.2 缓存穿透 272

13.4.3 缓存击穿 272

13.5 本章小结 273

?

第14章 异步消息队列Kafka 274

14.1 Kafka基本介绍 274

14.1.1 Kafka的定义和组件 274

14.1.2 Kafka消息协议 275

14.1.3 Kafka的优点 275

14.1.4 Kafka环境部署 276

14.1.5 Kafka可视化工具 277

14.2 Kafka实例 280

14.2.1 Kafka依赖 280

14.2.2 Kafka消息消费者 281

14.2.3 Kafka消息生产者 282

14.2.4 消息体构造 283

14.3 Kafka高级机制 283

14.3.1 Kafka分区机制 283

14.3.2 Kafka流式处理 284

14.3.3 Kafka副本和备份 285

14.3.4 消息持久化 285

14.3.5 数据存储 287

14.3.6 Kafka消费模型 287

14.3.7 Kafka日志配置 287

14.3.8 Kafka负载均衡 289

14.3.9 Kafka单元测试 290

14.4 Kafka常见问题 291

14.4.1 消息可靠性 291

14.4.2 Kafka消息丢失的问题 291

14.4.3 顺序消费 292

14.4.4 重复消费 293

14.5 Bus整合Kafka 293

14.5.1 Bus架构 293

14.5.2 项目结构 294

14.5.3 Bus和Kafka 295

14.5.4 项目启动 297

14.5.5 指定刷新范围 300

?

14.6 Bus整合RabbitMQ 300

14.6.1 Erlang安装 300

14.6.2 Bus服务端文件配置 303

14.6.3 Bus启动 305

14.7 本章小结 306

前言/序言

Spring Cloud技术是目前Java微服务开发使用最广泛的技术之一,随着微服务思想的推广,Spring Cloud因其简单易用、组件丰富,以及便于快速开发部署、配置和监控等特性被越来越多的开发者用于各种场景中。

笔者在使用过程中就深深感受到了Spring Cloud的便捷和强大,它提供了一整套的微服务解决方案,如Eureka注册中心、Zuul和Gateway服务网关、Hystrix断路器、Ribbon负载均衡器,以及分布式配置Spring Cloud Config,每一种组件配置都能无缝接入。

本书特色

本书的特色是内容丰富翔实,讲解每章组件时不仅针对一个实例,而且是结合相关的知识进行扩展,并通过生活中的实例进行对比,将比较深奥的原理讲解得通俗易懂。

(1)内容翔实,覆盖了Spring Cloud微服务框架的大部分常用技术组件。

(2)深入浅出,将一些复杂的技术原理描述分析得通俗易懂,使复杂的问题简单化。

(3)理论和代码相结合,能让读者在实战中理解一个技术点的原理和应用。

(4)结合当下最热门和最新的技术点。

(5)对一些开发中遇到的问题进行深入的剖析。

本书内容

本书的内容如下。

(1)Spring Cloud微服务简介:介绍了Spring Cloud的大致结构和框架、微服务的优缺点,以及与Spring Boot的关系。

(2)微服务开发工具IDEA:包括一些快捷键的使用、文件的搜索和查看、代码调试技巧、第三方组件等。

(3)注册中心Eureka和Consul:介绍了注册中心的启动和配置。

(4)Feign客户端:介绍了Feign声明式客户的使用方法、服务降级、安全认证、超时配置、重试机制、熔断功能和负载均衡。

(5)Ribbon负载均衡器:介绍了Ribbon负载均衡器的服务端和客户端实例、超时配置、路由配置及负载均衡的机制等。

(6)Config配置中心和第三方配置中心:介绍了原生的Spring Cloud Config、阿里开源的Nacos、携程的Apollo及经典的ZooKeeper。

(7)Zuul网关和Gateway网关:介绍了网关的使用方式、路由规则,以及过滤器的配置、全局和局部的限流处理等。

(8)Spring Cloud Admin管理中心:介绍了Admin作为Spring Cloud的后台提供的一系列功能,如健康检查、监控警告、服务日志等。

(9)文档管理工具Swagger和Postman:介绍了文档管理工具Swagger集成到项目中的方式及注解方法,Postman的流程和操作使用方法。

(10)MongoDB数据库:介绍了MongoDB数据库的结构和特点,不同版本采用的存储引擎,MongoDB 4.0以上的事务管理功能。

(11)Redis缓存:介绍了Redis的常用操作指令、集合哈希等基本结构,缓存算法、数据淘汰策略,、集群模式等高级功能,缓存雪崩、缓存穿透和缓存击穿等异常情况。

(12)异步消息队列Kafka:介绍了Kafka的定义、环境部署,以及消息协议等基本功能,以及分区机制、副本机制、备份机制、文件存储机制、消息持久化等高级功能。

本书的思维导图如下。

本书读者对象

(1)Java和微服务初学者。

(2)各类计算机培训班学员。

(3)各计算机、非计算机专业的大中专院校实习学生。

(4)需要微服务入门工具书的人员。

(5)对微服务架构和Spring Cloud框架有兴趣的各类人员。

(6)想了解最新软件开发技术的爱好者。

随便看

 

霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。

 

Copyright © 2002-2024 101bt.net All Rights Reserved
更新时间:2025/1/31 22:11:42