前言
Ribbon作为Spring Cloud全家桶核心组件之一,是一套基于客户端的软负载工具,主要是基于Netfilx发布的开源项目,功能主要是应用于客户端软件的负载均衡算法、服务之间调用的桥梁。作为客户端的组件,提供了一系列的配置,如拒绝策略、超时重试、服务发现策略….主要的核心组件也是基于Load Balancer,会提供一些负载均衡策略,如轮询、加权轮询、随机连接、重试等策略。
注册中心、负载均衡、生产者服务之间的注册与调用情况
Ribbon负载均衡策略核心
IRule 接口定义了一系列的负载均衡策略
核心接口ILoadBalance定义了一系列的方法,包括获取服务列表、选择、添加、选择服务。
自定义负载均衡策略
1:代码方式配置新策略
首先定义Configuration的MyRule类,定义myRule方法返回IRule接口。
public class CustomRule extends AbstractLoadBalancerRule {
private int total = 0; //被调用的次数
private int currentIndex = 0; //当前是谁在提供服务
public Server choose(