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

相关推荐
EAIReport21 小时前
Spring AI 详解:Java 开发者快速落地 AI 应用
java·人工智能·spring
YDS82921 小时前
DeepSeek RAG&MCP + Agent智能体项目 —— Agent执行链路设计之ReAct Loop
java·spring boot·ai·agent·deepseek
c++之路21 小时前
C++ 设计模式全总结
java·c++·设计模式
码语智行1 天前
首页地图功能分析
java
段ヤシ.1 天前
回顾Java知识点,面试题汇总Day10:日期类、IO流(持续更新)
java·序列化·反序列化·日期类·i/o流
luck_bor1 天前
IO流知识点笔记
java·开发语言·笔记
大圣编程1 天前
面向对象深度理解
java·开发语言·算法
影寂ldy1 天前
C# const 常量 / readonly 只读 / static readonly
java·开发语言·c#
摇滚侠1 天前
Maven 入门+高深 体系外 jar 包导入 172
java·maven·jar
做个文艺程序员1 天前
第02篇:K8s 存储与配置管理:ConfigMap、Secret、PV/PVC 实战——Java SaaS 多租户配置最佳实践
java·容器·kubernetes