发表于2024-12-23
√ Spring Cloud的崛起将取代Dubbo在微服务领域大行其道
√ 作者标签:Spring Cloud社区发起人|布道者|微服务专家
√ Spring Cloud可谓实现Java企业级微服务应用之极限武器
√ Spring Cloud是Spring Boot之上更完整、全能的解决方案
作为一部帮助大家实现微服务架构落地的作品,《Spring Cloud与Docker微服务架构实战》覆盖了微服务理论、微服务开发框架(Spring Cloud)以及运行平台(Docker)三大主题。全书可分为三部分,第1章对微服务架构进行了系统的介绍;第2-11章使用Spring Cloud开发框架编写了一个“电影售票系统”;第12-14章则讲解了如何将微服务应用运行在Docker之上。全书Demo驱动学习,以连贯的场景、具体的代码示例来引导读者学习相关知识,最终使用特定的技术栈实现微服务架构的落地。
周立,Spring Cloud中国社区联合发起人。拥有近7年的软件系统开发经验,多年系统架构经验。对Spring Cloud、微服务、持续集成、持续交付有一定见地。
热爱技术交流,曾代表公司参加全球微服务架构高峰论坛、QCon等技术沙龙。拥抱开源,在GitHub与Git@OSC上开源多个项目,并获得了开源中国的推荐,例如开源电子书《使用Spring Cloud与Docker实战微服务》等。
笔者博客:http://itmuch.com,定期分享Spring Cloud相关博客。读者可扫码关注Spring Cloud 中国社区公众号以及作者公众号。
本书初稿完成后,我第一时间拿到了稿件,从零开始学习了Spring Cloud,Spring Cloud提供了构建分布式系统所需的“全家桶”。如果你想从零开始搭建一套分布式系统,《Spring Cloud与Docker微服务架构实战》可以作为你的领路者,带你进入Spring Cloud的世界。
——张开涛 《亿级流量网站架构核心技术》作者
《Spring Cloud与Docker微服务架构实战》从微服务设计原则和理念出发,详细说明了如何通过Spring Cloud及Docker建立高效可用的微服务解决方案,并对Spring Cloud的架构及组件、容器镜像的制作与编排进行逐一讲解,具备较强的实战指导意义。本书能够帮助技术人员快速了解和应用微服务,通过技术的变革与提升帮助业务适应市场的快速变化,从而提升技术的价值。
——廖俊杰,广发银行IDC团队负责
《Spring Cloud与Docker微服务架构实战》这本书中,作者由浅入深地对Spring Cloud的主要常用组件进行了例剖析和精彩讲解,让读者能快速上手,快速搭建基于Spring Cloud的微服务应用。
——许进(xujin.org) Spring Cloud中国社区创始人,中间件高级研发工程师
我认识的周立是一个对技术非常执着的“技者”,对Spring Cloud技术栈钻研得非常深入。这本书写得也非常实用,通过不同的角度来介绍Spring Cloud,加入了很多实战的例子,值得一读。
——千米网首席架构师,曹祖鹏
1 微服务架构概述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 单体应用架构存在的问题1
1.2 如何解决单体应用架构存在的问题3
1.3 什么是微服务3
1.4 微服务架构的优点与挑战5
1.4.1 微服务架构的优点5
1.4.2 微服务架构面临的挑战5
1.5 微服务设计原则6
1.6 如何实现微服务架构7
1.6.1 技术选型7
1.6.2 架构图及常用组件8
2 微服务开发框架——Spring Cloud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.1 Spring Cloud 简介10
2.2 Spring Cloud 特点10
2.3 Spring Cloud 版本11
2.3.1 版本简介11
2.3.2 子项目一览12
2.3.3 Spring Cloud/Spring Boot 版本兼容性13
3 开始使用Spring Cloud 实战微服务. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.1 Spring Cloud 实战前提14
3.1.1 技术储备14
3.1.2 工具及软件版本15
3.2 服务提供者与服务消费者16
3.3 编写服务提供者16
3.3.1 手动编写项目17
3.3.2 使用Spring Initializr 快速创建Spring Boot 项目21
3.4 编写服务消费者23
3.5 为项目整合Spring Boot Actuator 25
3.6 硬编码有哪些问题27
4 微服务注册与发现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.1 服务发现简介29
4.2 Eureka 简介31
4.3 Eureka 原理31
4.4 编写Eureka Server 33
4.5 将微服务注册到Eureka Server 上35
4.6 Eureka Server 的高可用36
4.6.1 将应用注册到Eureka Server 集群上38
4.7 为Eureka Server 添加用户认证39
4.7.1 将微服务注册到需认证的Eureka Server 40
4.8 理解Eureka 的元数据41
4.8.1 改造用户微服务41
4.8.2 改造电影微服务41
4.9 Eureka Server 的REST 端点43
4.9.1 示例45
4.9.2 注销微服务实例49
4.10 Eureka 的自我保护模式51
4.11 多网卡环境下的IP 选择52
4.11.1 忽略指定名称的网卡52
4.11.2 使用正则表达式,指定使用的网络地址52
4.11.3 只使用站点本地地址53
4.11.4 手动指定IP 地址53
4.12 Eureka 的健康检查53
5 使用Ribbon 实现客户端侧负载均衡. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.1 Ribbon 简介56
5.2 为服务消费者整合Ribbon 57
5.3 使用Java 代码自定义Ribbon 配置60
5.4 使用属性自定义Ribbon 配置63
5.5 脱离Eureka 使用Ribbon 64
6 使用Feign 实现声明式REST 调用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
6.1 Feign 简介67
6.2 为服务消费者整合Feign 67
6.3 自定义Feign 配置69
6.4 手动创建Feign 72
6.4.1 修改用户微服务72
6.4.2 修改电影微服务76
6.5 Feign 对继承的支持78
6.6 Feign 对压缩的支持79
6.7 Feign 的日志80
6.8 使用Feign 构造多参数请求82
6.8.1 GET 请求多参数的URL 82
6.8.2 POST 请求包含多个参数83
7 使用Hystrix 实现微服务的容错处理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
7.1 实现容错的手段85
7.1.1 雪崩效应85
7.1.2 如何容错86
7.2 使用Hystrix 实现容错88
7.2.1 Hystrix 简介88
7.2.2 通用方式整合Hystrix 89
7.2.3 Hystrix 断路器的状态监控与深入理解91
7.2.4 Hystrix 线程隔离策略与传播上下文93
7.2.5 Feign 使用Hystrix 96
7.3 Hystrix 的监控101
7.3.1 Feign 项目的Hystrix 监控102
7.4 使用Hystrix Dashboard 可视化监控数据103
7.5 使用Turbine 聚合监控数据105
7.5.1 Turbine 简介105
7.5.2 使用Turbine 监控多个微服务105
7.5.3 使用消息中间件收集数据108
8 使用Zuul 构建微服务网关. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
8.1 为什么要使用微服务网关113
8.2 Zuul 简介115
8.3 编写Zuul 微服务网关115
8.4 Zuul 的路由端点118
8.5 Zuul 的路由配置详解119
8.6 Zuul 的安全与Header 122
8.6.1 敏感Header 的设置122
8.6.2 忽略Header 123
8.7 使用Zuul 上传文件124
8.7.1 编写文件上传微服务124
8.8 Zuul 的过滤器127
8.8.1 过滤器类型与请求生命周期127
8.8.2 编写Zuul 过滤器128
8.8.3 禁用Zuul 过滤器130
8.9 Zuul 的容错与回退130
8.9.1 为Zuul 添加回退131
8.10 Zuul 的高可用133
8.10.1 Zuul 客户端也注册到了Eureka Server 上133
8.10.2 Zuul 客户端未注册到Eureka Server 上133
8.11 使用Sidecar 整合非JVM 微服务134
8.11.1 编写Node.js 微服务135
8.11.2 编写Sidecar 136
8.11.3 Sidecar 的端点138
8.11.4 Sidecar 与Node.js 微服务分离部署139
8.11.5 Sidecar 原理分析139
9 使用Spring Cloud Config 统一管理微服务配置. . . . . . . . . . . . . . . . . . . . . . . 142
9.1 为什么要统一管理微服务配置142
9.2 Spring Cloud Config 简介143
9.3 编写Config Server 144
9.3.1 Config Server 的端点145
9.4 编写Config Client 147
9.5 Config Server 的Git 仓库配置详解149
9.6 Config Server 的健康状况指示器152
9.7 配置内容的加解密153
9.7.1 安装JCE 153
9.7.2 Config Server 的加解密端点153
9.7.3 对称加密153
9.7.4 存储加密的内容154
9.7.5 非对称加密155
9.8 使用/refresh 端点手动刷新配置155
9.9 使用Spring Cloud Bus 自动刷新配置157
9.9.1 Spring Cloud Bus 简介157
9.9.2 实现自动刷新158
9.9.3 局部刷新159
9.9.4 架构改进159
9.9.5 跟踪总线事件160
9.10 Spring Cloud Config 与Eureka 配合使用161
9.11 Spring Cloud Config 的用户认证162
9.11.1 Config Client 连接需用户认证的Config Server 163
9.12 Config Server 的高可用164
9.12.1 Git 仓库的高可用164
9.12.2 RabbitMQ 的高可用164
9.12.3 Config Server 自身的高可用165
10 使用Spring Cloud Sleuth 实现微服务跟踪. . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
10.1 为什么要实现微服务跟踪167
10.2 Spring Cloud Sleuth 简介168
10.3 整合Spring Cloud Sleuth 170
10.4 Spring Cloud Sleuth 与ELK 配合使用172
10.5 Spring Cloud Sleuth 与Zipkin 配合使用176
10.5.1 Zipkin 简介176
10.5.2 编写Zipkin Server 176
10.5.3 微服务整合Zipkin 178
10.5.4 使用消息中间件收集数据181
10.5.5 存储跟踪数据183
11 Spring Cloud 常见问题与总结. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
11.1 Eureka 常见问题186
11.1.1 Eureka 注册服务慢186
11.1.2 已停止的微服务节点注销慢或不注销187
11.1.3 如何自定义微服务的Instance ID 188
11.1.4 Eureka 的UNKNOWN 问题总结与解决189
11.2 Hystrix/Feign 整合Hystrix 后首次请求失败190
11.2.1 原因分析191
11.2.2 解决方案191
11.3 Turbine 聚合的数据不完整191
11.3.1 解决方案192
11.4 Spring Cloud 各组件配置属性193
11.4.1 Spring Cloud 的配置193
11.4.2 原生配置193
11.5 Spring Cloud 定位问题思路总结194
12 Docker 入门. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
12.1 Docker 简介197
12.2 Docker 的架构197
12.3 安装Docker 199
12.3.1 系统要求199
12.3.2 移除非官方软件包199
12.3.3 设置Yum 源199
12.3.4 安装Dokcer 200
12.3.5 卸载Docker 201
12.4 配置镜像加速器201
12.5 Docker 常用命令202
12.5.1 Docker 镜像常用命令202
12.5.2 Docker 容器常用命令204
13 将微服务运行在Docker 上. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
13.1 使用Dockerfile 构建Docker 镜像209
13.1.1 Dockerfile 常用指令210
13.1.2 使用Dockerfile 构建镜像215
13.2 使用Docker Registry 管理Docker 镜像217
13.2.1 使用Docker Hub 管理镜像217
13.2.2 使用私有仓库管理镜像219
13.3 使用Maven 插件构建Docker 镜像220
13.3.1 快速入门221
13.3.2 插件读取Dockerfile 进行构建222
13.3.3 将插件绑定在某个phase 执行223
13.3.4 推送镜像224
13.4 常见问题与总结226
14 使用Docker Compose 编排微服务. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
14.1 Docker Compose 简介227
14.2 安装Docker Compose 227
14.2.1 安装Compose 228
14.2.2 安装Compose 命令补全工具228
14.3 Docker Compose 快速入门229
14.3.1 基本步骤229
14.3.2 入门示例229
14.3.3 工程、服务、容器230
14.4 docker-compose.yml 常用命令230
14.4.1 build 230
14.4.2 command 231
14.4.3 dns 231
14.4.4 dns_search 231
14.4.5 environment 231
14.4.6 env_file 232
14.4.7 expose 232
14.4.8 external_links 232
14.4. Spring Cloud与Docker微服务架构实战 下载 mobi epub pdf txt 电子书 格式
Spring Cloud与Docker微服务架构实战 下载 mobi pdf epub txt 电子书 格式 2024
Spring Cloud与Docker微服务架构实战 下载 mobi epub pdf 电子书书不错,买来多了解点spring cloud的知识。
评分深入了解Java微服务的概念,掌握在生产环境下轻松实现微服务的艺术。
评分一直在用spring想提高一下自己的技术能力,多多看书,提高自己
评分书中代码有的是必要的但是遗漏了,另外项目中产生的问题就不是书能解决的了。这本书说实话只能是作参考,具体实战还是得自己查文档和实践
评分选了好久的书,618买了太多书,评论不过来¯_(ツ)_/¯
评分书的印刷不错,遇上折扣还是很划算的,先买了屯着
评分思想型书评。书评既然作为一种创作,书评人文笔风骚掩映下迸射而出的独到而锐利的思想的光芒,应该成为一篇书评立足的根本。这种造诣,得自于书评人的个人修为,得自于对被评作品的深刻理解,得自于“山中方一日、世上已千年”的妙想。
评分经常网购,总有大量的包裹收,感觉写评语花掉了我大量的时间和精力!所以在一段时间里,我总是不去评价或者随便写写!但是,我又总是觉得好像有点对不住那些辛苦工作的卖家客服、仓管、老板。于是我写下了一小段话,给我觉得能拿到我五星好评的卖家的宝贝评价里面以示感谢和尊敬!首先,宝贝是性价比很高的,我每次都会先试用再评价的,虽然宝贝不一定是最好的,但在同等的价位里面绝对是表现最棒的。京东的配送绝对是一流的,送货速度快,配送员服务态度好,每样东西都是送货上门。希望京东能再接再厉,做得更大更强,提供更多更好的东西给大家。为京东的商品和服务点赞
评分我是我们村里第一个买爱疯7plus 手机壳 的人,我们这 里大部分人都是用的小灵通,手机一般都不超过100 块。当听说我买了个手机壳就花了25块之后,整个村 都震惊了,村长跑到我家对我爸说,恁娃是不疯了。媳妇跟我闹离婚, 买这么贵的手机壳,这日子还过不过了。面对着重重压 力,我依然坚持要买,我相信我这一个月工资不会白 花。终于,快递到了,我怀着激动的心情,颤抖着双手打开包裹,那一刹那,感觉我的眼睛都要闪瞎了 啊,这颜色,这纹理,这手感,买嘎等!只恨我读书 少,无法用华丽的词语来形容它。举起手机壳,我骄傲 的站在村口,顿时整个村都沸腾了,大姑娘小媳妇 拼了命的向我涌来,更有人趁我不备的时候想摸我的 手机壳,更有人大喊,我不给她们摸,她们就要跳井。就连村花都红 着脸要跟我回家,看着隔壁老王杀人的目光,才想起 这是他花了一麻袋地瓜 换来的老婆。吓得我赶紧收起手机壳,挤出人群落 荒而逃。为了测试手机壳硬度,我爬上了我们村的最高建筑——高达3米的村长家的平房上。举 着手机往下一扔,顿时金光一闪,手机竟然毫发 无损,天啦撸,天寿啦,这硬度,我想跟传说中一颗 就破产的钻石比也相差不远了吧
Spring Cloud与Docker微服务架构实战 mobi epub pdf txt 电子书 格式下载 2024