什么是SpringCloud
目标
协调任何服务,简化分布式系统开发。
简介
构建分布式系统不应该是复杂的,SpringCloud对常见的分布式系统模式提供了简单易用的编程模型,帮助开发者构建弹性、可靠、协调的应用程序。 SpringCloud是在SpringBoot的基础上构建的,使开发者可以轻松入门并快速提高工作效率。 SpringCloud为开发人员提供了快速构建分布式系统架构的工具,例如配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁定,领导选举,分布式会话,集群状态等。
整体架构
本笔记对 Spring Cloud 的全栈技术体系(模块)进行了详细的讲解,同时提供了商业案例。通过本笔记,不仅能帮助读者快速学会使用 Spring Cloud,也能掌握微服务典型场景的解决方案!
读者对象
本书的读者对象主要是 Java 开发人员,特别是工作1~3年的开发人员,这个阶段的开发人员资历尚浅,正需要一些实用的技术和经验来提升自己, Spring Cloud 正是一门符合提升要求的技术。因为它现在正在快速发展中,越来越多的企业开始使用 Spring Cloud 相信在不远的将来, Spring Cloud 将会成为 Java 开发人员面试的标配。
本笔记涉及内容
本书主打的是与微服务相关的实战体系。第一部分准备篇,可帮助各位读者了解微服务以及 Spring Cloud 的概念。第二部分基础篇会对 Spring Cloud 中常用的模块进行详细讲解部分实战篇开始实战性质的内容讲解。第三部分实战篇包括选择配置中心、自研发配置中心 、分布式跟踪、微服务安全认证、 Spring Boot Admin 管理微服务、快速生成 API 文档等实用内容。
最后一部分高级篇也是难度比较大的一部分,主要内容如下:
- 对 Zuul 进行扩展,即对认证、限流、降级、灰度发布等内容进行讲解
- 讲解缓存框架的使用, 解决缓存穿透、缓存雪崩等问题
- 数据存储的选型,比如对 Mysql、Mongodb、ElasticSearch 的使用进行讲解
- 分布式事务的解决方案, 重点是利用消息队列开发可靠性消息服务来实现数据的最终
- 一致性
- 讲解分布式任务调度框架 Elastic Job
- 讲解分库分表的解决方案 Sharding JDBC
由于内容较多**【+jcc4261获取】**本次将展示部分
第一部分 准备篇
第一章 Spring Cloud 与微服务概述
-
传统的单体应用
-
什么是微服务
-
什么是 Spring Cloud
-
本章小结
第二章 实战前的准备工作
-
开发环境的准备
-
Spring Boot 入门
-
本章小结
第二部分 基础篇
第三章 Eureka 注册中心
-
Eureka
-
使用 Eureka 编写注册中心服务
-
编写服务提供者
-
编写服务消费者
-
开启 Eureka 认证
-
Eureka 高可用搭建
-
常用配置讲解
-
扩展使用
-
本章小结
第四章 客户端负载均衡 Ribbon
-
Ribbon
-
RestTemplate 结合 Ribbon 使用
-
负载均衡策略介绍
-
自定义负载策略
-
配置详解
-
重试机制
-
本章小结
第五章 声明式 REST 客户端 Feign
-
使用 Feign 调用服务接口
-
自定义 Feign 的配置
-
脱离 Spring Cloud 使用 Feign
-
本章小结
第六章 Hystrix 服务容错处理
-
Hystrix
-
在 Spring Cloud 中使用 Hystrix
-
Hystrix 监控
-
整合 Dashboard 查看监控数据
-
Turbine 聚合集群数据
-
本章小结
第七章 API 网关
-
Zuul 简介
-
使用 Zuul 构建微服务网关
-
Zuul 路由配置
-
Zuul 过滤器讲解
-
Zuul 容错和回退
-
Zuul 高可用
-
本章小结
第三部分 实战篇
第八章 分布式配置管理
-
自研配置管理框架 Smconf 简介
-
Smconf 工作原理
-
Smconf 部署
-
项目中集成 Smconf
-
Smconf 详细使用
-
Smconf 源码解析
-
本章小结
第九章 Sleuth 服务跟踪
-
Spring Cloud 集成 Sleuth
-
整合 Logstash
-
整合 Zipkin
-
本章小结
第十章 微服务之间调用的安全认证
-
什么是 JWT
-
创建统一的认证服务
-
服务提供方进行调用认证
-
服务消费方申请 Token
-
Feign 调用前统一申请 Token 传递到调用的服务中
-
Zuul 中传递 Token 到路由的服务中
-
本章小结
第十一章 Spring Boot Admin
-
Spring Boot Admin 的使用方法
-
开启认证
-
集成 Eureka
-
集成 Turbine
-
监控服务
-
本章小结
第十二章 服务的 API 文档管理
-
Swagger 简介
-
集成 Swagger 管理 API 文档
-
Swagger 注解
-
Eureka 控制台快速查看 Swagger 文档
-
本章小结
第四部分 高级篇
第十三章 API 网关扩展
-
用户认证
-
服务限流
-
服务降级
-
灰度发布
-
本章小结
第十四章 微服务之缓存
-
Guava Cache 本地缓存
-
Redis 缓存
-
防止缓存穿透方案
-
防止缓存雪崩方案
-
本章小结
第十五章 微服务之存储
-
存储选型
-
Mongodb
-
Mysql
-
Elasticsearch
-
本章小结
第十六章 微服务之分布式事物解决方案
-
两阶段型
-
TCC 补偿型
-
最终一致性
-
最大努力通知型事物
-
本章小结
第十七章 分布式任务调度
-
Elastic-Job
-
快速集成
-
任务使用
-
配置参数讲解
-
多节点并行调度
-
事件追踪
-
扩展功能
-
运维平台
-
使用经验分享
-
本章小结

第十八章 分库分表解决方案
-
Sharding-JDBC
-
快速集成
-
读写分离实战
-
分库分表实战
-
分布式主键
-
本章小结
通过阅读本书,你将学会:
- 使用Spring Boot开发Web项目
- 使用Spring Cloud开发分布式系统
- Spring Data Redis、Mongodb、ElasticSearch框架的使用
- 配置中心结合Zuul 进行动态限流降级
- 分布式事务的解决思路
- 分布式任务调度框架Elastic Job 的使用
- 分库分表中间件Sharding JDBC 的使用