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

相关推荐
Sammyyyyy20 分钟前
Rust 1.92.0 发布:Never Type 进一步稳定
java·算法·rust
alonewolf_9930 分钟前
深入解析G1与ZGC垃圾收集器:原理、调优与选型指南
java·jvm·算法
小镇学者32 分钟前
【c++】C++字符串删除末尾字符的三种实现方法
java·开发语言·c++
rfidunion33 分钟前
springboot+VUE+部署(1。新建项目)
java·vue.js·spring boot
小翰子_33 分钟前
Spring Boot整合Sharding-JDBC实现日志表按月按周分表实战
java·spring boot·后端
weixin_3993806941 分钟前
OA 系统假死问题分析与优化
java·运维
豆沙沙包?1 小时前
2026年--Lc334-2130. 链表最大孪生和(链表转数组)--java版
java·数据结构·链表
柒.梧.1 小时前
SSM常见核心面试问题深度解析
java·spring·面试·职场和发展·mybatis
杨章隐1 小时前
Java 解析 CDR 文件并计算图形面积的完整方案(支持 MultipartFile / 网络文件)@杨宁山
java·开发语言
Renhao-Wan2 小时前
Java 并发基石:AQS (AbstractQueuedSynchronizer)
java·开发语言