在前俩篇博客中,已经搭了一个服务提供者,一个服务消费者,一个注册中心Eureka,之前这种只有一个service,那肯定是调用这一个了,那如果有很多个service,此时我们获取的服务列表中就会有多个,到底该访问哪一个呢?
一、Ribbon是什么呢
一般这种情况下我们就需要编写负载均衡算法,在多个实例列表中进行选择。当然我们也可以直接使用负载均衡组件,Ribbon。
Ribbon是Netiflix发布的负载均衡器,它有助于控制HTTP和TCP客户端的行为。为Ribbon配置服务提供者地址列表后,Ribbon就可以基于某种负载均衡算法,自动的帮助服务消费者去请求。
Ribbon的负载均衡算法有:轮询、随机等,默认是轮询。
二、Ribbon怎么用呢
在前上一篇博客的基础上(已经建了服务提供者,服务消费者,注册中心Eureka),再新建一个服务提供者producer-service,只修改端口,在application.yml的server.port改为8082,然后启动
这样在Eureka列表里可以看到俩个服务了,一个是producer-service:8082,一个是producer-service:8081