22. Spring Cloud Netflix

Spring Cloud Netflix是对Netflix开发的一套分布式服务框架的封装,包括服务的发现和注册,负载均衡、断路器、REST客户端、请求路由等。它是Spring Cloud的一部分。

22.1. Netflix

Netflix OSS 是一组开源的框架和组件库,是Netflix公司开发出来解决分布式系统的一些有趣的可扩展类库。Spring Cloud 把他们都放到 Spring Cloud Netflix 下,这是一个框架集合,它包括 Eureka、Ribbon、Hystrix、Zuul、Gateway 等。

Eureka
服务中心,这可以说是微服务架构的核心功能了,微服务部署之后,一定要有服务注册和发现的能力,Eureka 就是担任这个角色的。
Ribbon
提供客户端负责均衡功能,例如一个服务提供者部署了 3 个实例,那么使用 Ribbon 可以指定负载均衡算法请求其中一个实例,Ribbon 如果配合 Eureka ,使用起来非常简单。
Hystrix
熔断器,假设有 3 个服务提供实例,其中有一个实例由于某种原因挂掉了,那么当再有请求进来的时候,如果还是向这个实例上发请求,那将会导致请求积压阻塞,这个时候,熔断器就要发挥它的作用,将这个有问题的实例下线,这样一来,再有新的请求进来,就不会再发到这个有问题的实例上了。
Zuul
服务网关。主要实现了路由转发和过滤器功能,对于处理一些数据聚合、鉴权、监控、统计类的功能非常好用。
Gateway
也是服务网关,可以认为它是 Zuul 的下一代,无论从易用性和性能方便都有所提高,如果你的系统中还没有使用 Zuul ,并且准备上网关,可以直接选择 Gateway 。

22.2. 小结