Spring Cloud学习笔记
项目版本
- 使用IDEA完成,我是用的2019.3最新版,任何一个版本都可以
- spring cloud版本:Dalston.SR1
- spring boot版本:1.5.19.RELEASE
项目模块说明
SpringCloudLearning
├── lingluocloud-api -- 构建公共子模块 + Hystrix服务降级
├── lingluocloud-euraka-7001 -- Eureka集群
├── lingluocloud-euraka-7002 -- Eureka集群
├── lingluocloud-euraka-7003 -- Eureka集群
├── lingluocloud-provider-dept-8001 -- 构建服务提供者集群
├── lingluocloud-provider-dept-8002 -- 构建服务提供者集群
├── lingluocloud-provider-dept-8003 -- 构建服务提供者集群
├── lingluocloud-consumer-dept-80 -- 构建服务消费者
├── lingluocloud-consumer-dept-feign -- 构建服务消费者
├── lingluocloud-provider-dept-hystrix-8001 -- Hystrix服务熔断
├── lingluocloud-consumer-hystrix-dashboard -- Hystrix调用监控
├── lingluocloud-zuul-gateway-9527 -- Zuul路由网关
├── lingluocloud-config-3344 -- config服务端
└── lingluocloud-config-client-3355 -- config客户端
项目搭建
- 全程记录在公众号[灵洛的人间乐园],非常非常详细
不可错过的微服务SpringCloud入门概述
SpringCloud系列2:Rest微服务构建案例工程
SpringCloud系列3:Eureka服务注册
SpringCloud系列4:Eureka服务发现和集群搭建
SpringCloud系列5:使用Ribbon实现负载均衡及自定义Rule源码解析
SpringCloud系列6:使用Feign实现负载均衡
SpringCloud系列7:安检员豪猪哥登场——Hystrix服务熔断、降级及监控
SpringCloud系列8:一文搞定Zuul路由网关及源码解析
SpringCloud系列9:分布式配置中心实战
项目启动
-
启动euraka-service端集群:
- [lingluocloud-euraka-7001]
- [lingluocloud-euraka-7002]
- [lingluocloud-euraka-7003]
-
启动微服务提供者集群:
- [lingluocloud-provider-dept-8001 (连01数据库)]
- [lingluocloud-provider-dept-8002 (连02数据库)]
- [lingluocloud-provider-dept-8003 (连03数据库)]
-
启动为服务消费者:
以下两者二选一启动,它两主要区别(具体见笔记中第四小节)是:
dept-80:Ribbon+RestTemplate 调用Rest服务
dept-feign:Feign+接口 调用Rest服务(优雅简单)- [lingluocloud-consumer-dept-80 (含Ribbon客户端负载均衡)]
- [lingluocloud-consumer-dept-feign (含Feign负载均衡、Hystrix服务降级)]
-
Hystrix 服务熔断、降级、监控
服务熔断:
缺点就是每一个方法对应都得写一个fallBackMethod方法,代码膨胀,所以我们之后看服务降级(__)
主要在单个服务出异常的时候用服务降级:
统一处理主业务与熔断方法解耦,是在客户端(消费者)处理完成的,与服务端没关系
主要在单个服务整个被关闭的时候用- [lingluocloud-provider-dept-hystrix-8001 (Hystrix服务熔断)]
- [lingluocloud-api (Hystrix服务降级)]
- [lingluocloud-consumer-hystrix-dashboard (Hystrix调用监控)]
-
Zuul 路由网关
- [lingluocloudzuul-gateway-9527 (Zuul路由网关)]
-
Config 分布式配置中心
- [lingluocloud-config-3344 (config服务端)]
- [lingluocloud-config-client-3355 (config客户端)]