SpringCloud微服务之服务调用-Ribbon的使用及自定义策略的实现

本文介绍了SpringCloud组件Ribbon作为客户端负载均衡器的工作原理和使用步骤。通过Eureka集成,Ribbon实现服务发现和负载均衡。文中详细讲解了Ribbon如何选择服务器,并提供了配置和自定义策略算法的示例,以提高微服务的高可用性和可靠性。
摘要由CSDN通过智能技术生成


前言

springcloud技术栈分布图:
在这里插入图片描述


一、Ribbon是什么?

Ribbon是一个负载均衡的客户端组件,可以在客户端进行负载均衡,使客户端可以根据自身的需要选择一个可用的服务实例进行调用。Ribbon集成在Spring Cloud Netflix中,常常与Eureka等注册中心进行配合使用,实现自动化的服务发现和负载均衡(Load Load Banlance)。

二、负载均衡LB?

我们最常见的实现负载均衡的有Nginx,其实负载均衡就是将用户的请求平摊的分配在多个服务器上,从而达到系统的HA(高可用)。那么Nginx和Ribbon实现方式有什么区别呢?
Ribbon是进程式LB,是本地负载均衡,调用微服务接口时,会在注册中心获取注册信息服务列表之后缓存到JVM本地,从而实现RPC远程调用技术。
Nginx是集中式LB,是服务器负载均衡,客户端所有请求都交给Ngninx来实现转发,它是由服务端实现的。

三、Ribbon 的工作逻辑

First:选择注册中心,优先选择同一个区域内的负载较少的服务器。
Two:根据用户指定的策略,从获取的服务注册列表中选择一个地址。
常用的Ribbon策略:轮询 、随机、重试等。

四、使用步骤

1.引入库

代码如下:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
</dependency>

如果你配合Eureka使用,则只需要引用一个Eureka包,因为Eureka内部已经集成了Ribbon包。
代码如下:

 <dependency>
      <groupId>org.springframework
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值