Zuul和Netflix Ribbon的用例

时间:2018-05-23 09:04:30

标签: spring-boot microservices netflix-zuul netflix-ribbon

Zuul和Ribbon都可以用于负载平衡。但在这种情况下,我们应该更喜欢Zuul而不是Ribbon,反之亦然?

2 个答案:

答案 0 :(得分:3)

默认情况下,Zuul负载均衡器使用功能区中的ZoneAwareLoadBalancer。因此,没有什么比选择Zuul和Ribbon for Load-Balancing,它基本上是Ribbon参与负载均衡。看看Zuul load-balancing

由于Ribbon是客户端负载均衡器模块,并且已集成到许多http客户端模块中。例如,Feign和Load-balanced RestTemplate支持Ribbon。请检查Ribbon's working with load balancer

关于Zuul,有一个RibbonRoutingFilter将您的请求路由到实际的服务实例。 RibbonRoutingFilter正在使用功能区从列表中选择一个服务器,该服务器是从您的配置或Eureka中提供的。 因此,如果您想使用Zuul作为负载平衡的反向代理,Zuul需要功能区

答案 1 :(得分:1)

Zuul仅提供网关模式的路由部分。但是,如果您正在使用复制的微服务,则功能区将执行操作。功能区默认使用循环法将消息分发到每个副本。

EX:假设有3个客户来发出请求。根据该图,客户的请求来到zuul和ribbon同样分配第一个客户端到replica1和第二个到第二个副本和第三个副本到第三个副本。这意味着负载平衡请求。

enter image description here