- Spring Cloud Eureka 服务发现
- Spring Cloud Feign 服务通信
- Spring Cloud Config 配置中心
- Spring Cloud Bus 消息总线
- Spring Cloud Stream 消息驱动
- Spring Cloud Zuul 服务网关
- Spring Cloud Hystrix 服务容错
- Spring Cloud Sleuth 服务跟踪
服务注册与发现
介绍微服务中的服务注册与发现机制,Spring Cloud Eureka组件的使用以及如何保证高可用
Spring Cloud Eureka
$ cd ~/Sites/Lsp-api-merchant
$ git init
$ git checkout -b api-merchant
$ git add . && git commit -m "Initial commit"
$ git remote add origin git@git.coding.net:qbgugu/Lsp.git
$ git pull origin api-merchant --allow-unrelated-histories
$ git push -u origin api-merchant
Eureka Server
Eureka Client
Eureka的高可用
分布式下服务注册的地位和原理
服务拆分
以商品服务和订单服务为例介绍微服务拆分中的业务功能拆分和数据拆分的注意点以及将项目模块进行多模块改造
商品服务
订单服务
应用通信
比较HTTP REST 和 REST,同步和异步, 介绍Spirng Cloud 采用的两种HTTP方式,重点介绍Feign. 实例演示下单流程. 引出异步通信的思考.
负载均衡器:Ribbon
追踪源码自定义负载均衡策略
Feign的使用
获取商品列表(Feign)
扣库存(Feign)
整合接口打通下单流程(Feign)
项目改造成多模块
统一配置中心
介绍Spring Cloud Config组件搭配Spring Cloud Bus, 实现配置自动更新, 集成WebHook。
Config Server
Config Client
Spring Cloud Bus自动更新配置
集成WebHooks实现动态更新
消息和异步
RabbitMQ,Spring Cloud Stream组件介绍及使用, 异步通信实例演示和思考
RabbitMQ的安装
RabbitMQ的基本使用
Spring Cloud Stream的使用
商品和订单服务中使用MQ
异步扣库存分析
服务网关
探讨微服务架构下的服务网关,介绍Spring Cloud Zuul的使用, 路由转发, Cookie处理, 动态路由等Zuul路由相关的功能,也探讨了Zuul的高可用
服务网关和Zuul
Zuul:路由转发,排除和自定义
Zuul:Cookie和动态路由
Zuul:路由和高可用小结
Zuul综合使用
围绕过滤器,选取限流,跨域等典型场景,综合使用Zuul,集成用户服务
Zuul:Pre和Post过滤器
Zuul:限流
Zuul鉴权和添加用户服务
模拟买家卖家登录功能实现
完结订单接口开发
完成权限校验
Zuul:跨域
服务容错
探讨熔断机制,Spring Cloud Hystrix的使用, Feign+Hystrix服务降级.
服务容错和Hystrix
触发降级
超时设置
探讨断路器模式
使用配置项
feign-hystrix的使用
hystrix-dashboard
Zuul:超时配置
服务跟踪
Spring Cloud Sleuth的使用, Sleuth搭配Zipkin, 直观获取跟踪信息和分析请求链路明细.
服务追踪
容器部署
使用Docker容器+Rancher容器管理平台部署微服务, 资源弹性分配, 容器编排与调度.