SpringCloud(五):Ribbon了解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013037201/article/details/77113238

在前面博客中遗留的问题,在这里彻底得到解答。让我们再回顾一遍。

一是硬编码的问题,如果不用硬编码,如何让消费者调到注册到Eureka中的微服务

二是多个节点的时候如何保持负载均衡

由以上问题,我们引出了Ribbon的概念,我们从以下几个方面来进行讲解。


首先我们来看,负载均衡的两种方式。

一是服务器端负载均衡,二是客户端侧负载均衡。

我们在服务器端的负载均衡一般会考虑到用nginx。


当客户端发出请求时,nginx做一层反向代理,定位到相应的服务器进行访问。


客户端侧负载均衡


我们将服务器实例都放在服务列表中,然后使用负载均衡组件将其拉过来,然后就可以用负载均衡策略进行请求。Ribbon便可以实现这样的功能的一个组件。


What Ribbon

Ribbon是一个客户端负载均衡器,可以很好地控制HTTP和TCP客户端的行为,Feign已经使用了Ribbon。


Ribbon Architecture 


Ribbon工作时分为两步:第一步先选择Eureka Server,它优先选择在同一个Zone且负载较少的Server;第二步再根据用户指定的策略,在从Server取到的服务注册列表中选择一个地址。其中Ribbon提供了多种策略。例如轮询round robin、随机Random、根据响应时间加权等。


后面博客继续介绍Ribbon的一个Demo





猜你喜欢

转载自blog.csdn.net/u013037201/article/details/77113238