阿里首席架构师解读:Spring Cloud与Docker微服务架构实战
最近几年,微服务的概念非常火爆,由于它确实能解决传统单体应用所带来的种种问题(比如代码可维护性低、部署不灵活、不够稳定、不易扩展,等等),所以大家对“如何成功实施微服务架构”越来越感兴趣。在Java技术栈中,Spring Cloud独树一帜,提供了一整套微服务解决方案,它基于Spring Boot而构建,延续了Spring体系一贯的“简单可依赖”,但是由于微服务本身涉及的技术或概念比较广,所以在正式“入坑”之前,最好能有一本实战性强的书籍作为参考。
下面就给大家推荐一下这本由阿里P8架构师编写的《Spring Cloud与Docker微服务架构实战》,作为一部帮助大家实现微服务架构落地的作品,本书基于Spring Cloud Camden SR4Docker 1.13.0,覆盖了微服务理论、微服务开发框架( Spring Cloud )以及运行平台( Dock-er)三大主题。全书可分为三部分,**第1章对微服务架构进行了系统的介绍;第2~11章使用Spring Cloud开发框架编写了一个“电影售票系统”;第12~14章则讲解了如何将微服务应用运行在 Docker 之上**。全书 Demo驱动学习,以连贯的场景、具体的代码示例来引导读者学习相关知识,最终使用特定的技术栈实现微服务架构的落地。
![image.png](https://img-blog.csdnimg.cn/img_convert/5eff500c6cc4d7a0a87ab9160eeb1ffe.png)
# 第一章:微服务架构概述
* 1.1 单体应用架构存在的问题
* 1.2 如何解决单体应用架构存在的问题
* 1.3 什么是微服务
* 1.4 微服务架构的优点与挑战
* 1.5 微服务设计原则
* 1.6 如何实现微服务架构
![image.png](https://img-blog.csdnimg.cn/img_convert/7505ba935f00d380a8528d74d467447e.png)
![image.png](https://img-blog.csdnimg.cn/img_convert/7ec7316af5b2713a8b488bf19d2cc62d.png)
# 第二章:微服务开发框架——Spring Cloud
* 2.1 Spring Cloud简介
* 2.2 Spring Cloud特点
* 2.3 Spring Cloud 版本
![image.png](https://img-blog.csdnimg.cn/img_convert/c1b9f208c7e3732e2f426647196a5690.png)
![image.png](https://img-blog.csdnimg.cn/img_convert/6bf7d9a8b280356e86fd167606e3d775.png)
##第三章:开始使用Spring Cloud实战微服务
* 3.1 Spring Cloud实战前提
* 3.2 服务提供者与服务消费者
* 3.3 编写服务提供者
* 3.4 编写服务消费者
* 3.5 为项目整合Spring Boot Actuator
* 3.6 硬编码有哪些问题
![image.png](https://img-blog.csdnimg.cn/img_convert/e6356639c419736a2dfe6750fae06664.png)
![image.png](https://img-blog.csdnimg.cn/img_convert/251c7abf6361cba82a645c186f9dce4f.png)
# 第四章:微服务注册与发现
* 4.1 服务发现简介
* 4.2 Eureka简介
* 4.3 Eureka原理
* 4.4 编写Eureka Server
* 4.5 将微服务注册到Eureka Server 上
* 4.6 Eureka Server的高可用
* 4.7 为Eureka Server添加用户认证
* 4.8 Eureka的元数据
* 4.9 Eureka Server的 REST端点
* 4.10 Eureka的自我保护模式
* 4.11 多网卡环境下的P选择
* 4.12 Eureka的健康检查
![image.png](https://img-blog.csdnimg.cn/img_convert/3aa774c99e7e0b732e669bda4a3fc14e.png)
![image.png](https://img-blog.csdnimg.cn/img_convert/8c5061aa3e1c763f82721963943f5335.png)
# 第五章:使用Ribbon实现客户端侧负载均衡
* 5.1 Ribbon简介
* 5.2 为服务消费者整合Ribbon
* 5.3 使用Java代码自定义Ribbon配置
* 5.4 使用属性自定义Ribbon配置
* 5.5 脱离Eureka使用Ribbon
![image.png](https://img-blog.csdnimg.cn/img_convert/049f78092873bd8d115c62d4b30441d7.png)
![image.png](https://img-blog.csdnimg.cn/img_convert/0d7a4b984ef0c0a1b6a316dc893b23bc.png)
# 第六章:使用Feign 实现声明式REST 调用
* 6.1 Feign简介
* 6.2 为服务消费者整合Feign
* 6.3 自定义Feign 配置
* 6.4 手动创建Feign
* 6.5 Feign对继承的支持
* 6.6 Feign对压缩的支持
* 6.7 Feign的日志
* 6.8 使用Feign构造多参数请求
![image.png](https://img-blog.csdnimg.cn/img_convert/a89c93238f95c3585a27c3d0d40c8f20.png)
![image.png](https://img-blog.csdnimg.cn/img_convert/d5cfc02948019c2c40feb044fd0d1024.png)
# 第七章:使用Hystrix 实现微服务的容错处理
* 7.1 实现容错的手段
* 7.2 使用 Hystrix 实现容错
* 7.3 Hystrix的监控
* 7.4 使用Hystrix Dashboard可视化监控数据
* 7.5 使用Turbine聚合监控数据
![image.png](https://img-blog.csdnimg.cn/img_convert/2b1f85ed9c45b7fd066f7b6e88aa666a.png)
![image.png](https://img-blog.csdnimg.cn/img_convert/eb21e748e916ab7e8fce7314aa63b5ac.png)
# 第八章:使用Zuul构建微服务网关
* 8.1 为什么要使用微服务网关
* 8.2 Zuul简介
* 8.3 编写Zuul 微服务网关
* 8.4 Zuul的路由端点
* 8.5 路由配置详解
* 8.6 Zuul 的安全与Header
* 8.7 使用Zuul上传文件
* 8.8 Zuul的过滤器
* 8.9 Zuul的容错与回退
* 8.10 Zuul的高可用
* 8.11 使用Sidecar整合非JVM微服务
* 8.12 使用Zuul聚合微服务
![image.png](https://img-blog.csdnimg.cn/img_convert/30556543dcd8f2a8623b7e8fdafe2297.png)
![image.png](https://img-blog.csdnimg.cn/img_convert/86f0420eb98f4e9ab1849ae588fe0726.png)
# 第九章:使用Spring Cloud Config统一管理微服务配置
* 9.1 为什么要统一管理微服务配置
* 9.2 Spring Cloud Config简介
* 9.3 编写Config Server
* 9.4 编写Config Client
* 9.5 Config Server的Git仓库配置详解
* 9.6 Config Server的健康状况指示器
* 9.7 配置内容的加解密
* 9.8 使用/refresh 端点手动刷新配置
* 9.9 使用Spring Cloud Bus自动剧新配置
* 9.10 Spring Cloud Config 与 Eureka配合使用
* 9.11 Spring Cloud Config 的用户认证
* 9.12 Config Server的高可用
![image.png](https://img-blog.csdnimg.cn/img_convert/02df0d8cf0c5f13da6963dd7ec4d4a48.png)
![image.png](https://img-blog.csdnimg.cn/img_convert/f39e51bf64b4ca67ea5ffd46717b80f9.png)
# 第十章:使用Spring Cloud Sleuth实现微服务跟踪
* 10.1 为什么要实现微服务跟踪
* 10.2 Spring Cloud Sleuth简介
* 10.3 整合Spring Cloud Sleuth
* 10.4 Spring Cloud Sleuth 与ELK配合使用
* 10.5 Spring Cloud Sleuth 与 Zipkin配合使用
![image.png](https://img-blog.csdnimg.cn/img_convert/525573b87d42135f8b2f7f4cc3e3c892.png)
![image.png](https://img-blog.csdnimg.cn/img_convert/0bd698cd5585e9d29424d70b51b5bcd4.png)
# 第十一章:Spring Cloud 常见问题与总结
* 11.1 Eureka常见问题
* 11.2 Hystrix/Feign整合Hystrix后首次请求失败
* 11.3 Turbine聚合的数据不完整
* 11.4 Spring Cloud各组件配置属性
* 11.5 Spring Cloud定位同题思路总结
![image.png](https://img-blog.csdnimg.cn/img_convert/a956abb788c0e9df71cd3bc03191899e.png)
![image.png](https://img-blog.csdnimg.cn/img_convert/a04bf95c4808862b45463af57fdb67d8.png)
# 第十二章:Docker 入门
* 12.1 Docker简介
* 12.2 Docker的架构
* 12.3 安装Docker
* 12.4 配置镜像加速器
* 12.5 Doeker常用命令
![image.png](https://img-blog.csdnimg.cn/img_convert/f197724bd1bfa4b32aa80acd8098c09f.png)
![image.png](https://img-blog.csdnimg.cn/img_convert/e4ae2d03fe1bc47786c89546682c0e5e.png)
# 第十三章:将微服务运行在 Docker 上
* 13.1 使用Dockerfile构建 Docker镜像
* 13.2 使用Docker Registry管理Docker镜像.
* 13.3 使用Maven插件构建Docker镜像
* 13.4 常见问题与总结
![image.png](https://img-blog.csdnimg.cn/img_convert/18c3c098609c7b3b83d02ebf377b9b95.png)
![image.png](https://img-blog.csdnimg.cn/img_convert/4c3707438a60643b3c30ddaf37e90acd.png)
# 第十四章:使用Docker Compose编排微服务
* 14.1 Docker Compose简介
* 14.2 安装Docker Compose
* 14.3 Docker Compose快速人门
* 14.4 docker-compose.yml 常用命令
* 14.5 docker-compose常用命令
* 14.6 Docker Compose 网络设置
* 14.7 综合实战:使用 Docker Comose编排Spring Cloud微服务
* 14.8 常见问题与总结
![image.png](https://img-blog.csdnimg.cn/img_convert/f32abb291e78e95a921f01ecabb55703.png)
![image.png](https://img-blog.csdnimg.cn/img_convert/7d8f1061f139e0a46c27e3f529b9c676.png)
- 点赞
- 收藏
- 关注作者
评论(0)