Spring cloud组件
1、Eureka
是微服务的注册中心,负责微服务的注册和发现
有:Eureka Client 负责将微服务注册到Eureka Server中
Eureka Server 是注册中心,有一个注册表,保存每个微服务的所在的机器和端口
2、getWay
负责网络路由
3、Feign
通过@FeignClient 注解,Feign将会对每个接口创建一个动态代理。
根据接口的@RequestMaping等注解,来动态构造出请求的服务的地址,最后对这个地址发起请求,解析相应。
4、Ribbon
解决负载均衡
使用Round Robin 轮询算法
Ribbon从Eureka Client中获取对应的服务注册表,就可以知道所有服务部署在哪些机器上,在监听哪些接口
5、Hystrix
熔断器,防止雪崩事件发生
防止雪崩方式: 服务降级 当调用失败,在本地方法返回一个空
服务熔断 当调用失败时候,会进入调用接口提前定义好的熔断方法,返回错误信息
服务隔离 隔离服务之间影响
服务监控 在服务器调用时候,会以每秒请求数,成功请求等运行指定记录
断路器状态
打开状态:一段时间内达到一定的次数无法调用,并且多次监测没有恢复的迹象,断路器完全打开,
那么下次请求就不会请求到该服务;
半开状态:短时间内,有恢复的迹象,断路器会将部分的请求分发给改服务, 正常调用时,断路器关闭;
关闭状态:服务一直处于正常状态;