SpringCloud

SpringCloud常用组件
服务发现——Netflix Eureka
客服端负载均衡——Netflix Ribbon
断路器——Netflix Hystrix
服务网关——Netflix Zuul
分布式配置——Spring Cloud Config

Eureka
由两个组件组成:Eureka服务端和Eureka客户端。
Eureka服务端用作服务注册中心,支持集群部署。Eureka客户端是一个java客户端,用来处理服务注册与发现。
在应用启动时,Eureka客户端向服务端注册自己的服务信息,同时将服务端的服务信息缓存到本地。客户端会和服务端周期性的进行心跳交互,以更新服务租约和服务信息。

Ribbon
Ribbon是一个基于HTTP和TCP的客户端负载均衡工具。通过SpringCloud的封装,可以让我们轻松地将面向服务的REST模版请求自动转换成客户端负载均衡的服务调用。

Feign
Feign集成了Ribbon。

Hystrix
熔断器。超时或者失败时,断开依赖调用或者返回指定逻辑,从而提高分布式系统的稳定性。

Zuul
类似nginx,反向代理的功能,不过netflix自己增加了一些配合其他组件的特性。zuul也有负载均衡的功能,它是针对外部请求做负载。

Config

隔离:将请求封装在HystrixCommand中,然后这些请求在一个独立的线程中执行,每个依赖服务维护一个小的线程池(或信号量),在调用失败或超时的情况下可以断开依赖调用或者返回指定逻辑
熔断:当HystrixCommand请求后端服务失败数量超过一定比例(默认50%), 断路器会切换到开路状态(Open). 这时所有请求会直接失败而不会发送到后端服务,断路器保持在开路状态一段时间后(默认5秒),自动切换到半开路状态(HALF-OPEN),这时会判断下一次请求的返回情况, 如果请求成功, 断路器切回闭路状态(CLOSED),否则重新切换到开路状态(OPEN)
降级:服务降级是指当请求后端服务出现异常的时候, 可以使用fallback方法返回的值

SpringBoot与SpringCloud版本
1.5.2 Dalston
1.5.9 Edgwar
2.0.2 Finchley
2.0.3 Finchley
2.1.0 Greenwich
2.2.0 Hoxton

posted on 2019-12-10 21:08  lc19149  阅读(113)  评论(0编辑  收藏  举报

导航