Spring Cloud全解析:负载均衡之Ribbon简介

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简介/

相关推荐
用户298698530148 小时前
Java 实现 Word 文档文本查找与高亮标注
java·后端
宇宙之一粟9 小时前
乐企版式文件生成平台
java·后端·python
plainGeekDev9 小时前
MVC 写法 → MVVM
android·java·kotlin
SL_staff10 小时前
3周搭完MES系统:JVS低代码+JVS-IoT物联网的实战记录
java·前端·低代码
MacroZheng10 小时前
斩获20w star!Claude Code最强插件,AI编程必备!
java·人工智能·后端
唐青枫11 小时前
Java Spring WebFlux 实战指南:用 Mono、Flux 和 WebClient 写响应式接口
java·spring
小bo波1 天前
使用Thread子类创建线程 VS 使用Runnable接口创建线程的区别
java·多线程·thread·并发编程·runnable
SamDeepThinking1 天前
高并发场景下,CompletableFuture与ForkJoinPool该如何取舍?
java·后端·面试
张不才1 天前
CPU 100% 了怎么办?Java 性能排障的标准化操作
java·后端
shepherd1111 天前
吞吐量提升 10 倍:高并发大批量数据处理任务的架构演进与性能调优
java·后端·架构