Ribbon简介
Ribbon是一种客户端的软件负载均衡算法,将Netflix的中间层服务连接在一起,提供了一系列完善的配置如连接超时、重试等,Ribbon会自动的帮助基于某种规则(如简单轮询、随机连接等)去连接那些机器,也可以自定义的负载均衡算法
依赖
xml
<!-- ribbon -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-ribbon</artifactId>
</dependency>
如果是F版及以上的话,需要使用该依赖
xml
<!-- 新版ribbon -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
</dependency>
配置负载
java
@Bean
@LoadBalanced //表示访问需要进行负载均衡
public RestTemplate loadRestTemplate(){
return new RestTemplate();
}
在使用restTemplate调用其他微服务时,注意服务名称中不要带有_,否则无法访问到
访问
java
private static final String LOAD_REST_URL_PREFIX = "http://MICRO-SERVICE-DEPT-PROVIDER";
loadRestTemplate.getForObject(LOAD_REST_URL_PREFIX + "/dept/get/" + id, Dept.class);
服务提供者将服务注册到注册中心中,服务消费者从注册中心拉取可用的服务列表,使用ribbon来负载均衡请求服务提供者
https://zhhll.icu/2021/框架/微服务/springcloud/负载均衡/Ribbon/1.Ribbon简介/