Ribbon

Ribbon简介

Ribbon是Netflix发布的负载均衡器,她有助于控制HTTP和TCP客户端的行为.为Ribbon配置服务提供者地址列表后,
Ribbon就可以居于某种负责均衡算法,自动地帮助服务消费者去请求.
Ribbon默认为我们提供了很多负载均衡算法,例如轮询,随机等.当然,我们也可以自己实现自定义的算法.

在Spring Cloud中,当Ribbon和Eureka配合使用时,Ribbon可自动从Eureka Server获取服务提供者地址,并基于
负载均衡算法,请求其中一个服务提供实例.

为服务消费者(Eureka Client)整合Ribbon

在原来的Eureka Client中进行操作

Ribbon pom依赖

1
2
3
4
5
6
7
8
9
10
11
<!-- 下面的依赖以及包含了Ribbon,所以只要引用一个即可 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>

<!-- 下面就不再需要依赖了 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-ribbon</artifactId>
</dependency>

@LoadBalanced 注解

主需要添加 @LoadBalanced 注解就可以已经自动整合上Ribbon,使RestTemplate具有负载均衡的能力了

1
2
3
4
5
@Bean
@LoadBalanced
public RestTemplate restTemplate () {
return new RestTemplate();
}

.