Ribbon之自定义算法

本文介绍了在Spring Cloud中使用Ribbon自定义负载均衡算法的步骤,强调了配置类的位置注意事项,以及如何实现一个满足特定需求的算法。通过测试验证了算法的正确性,实现了每个微服务被访问次数为其数量的两倍。最后提供了参考资料和鼓励读者交流学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

自定义算法

在实际需求中为了测试服务器的性能和能力,或者其他需求需要我们使用自定义算法

必备知识

官方文档明确给出了警告:
这个自定义配置类不能放在@ComponentScan所扫描的当前包下以及子包下,
否则我们自定义的这个配置类就会被所有的Ribbon客户端所共享,也就是说
我们达不到特殊化定制的目的了。
@ComponentScan是在@SpringBootApplication的注解里面
自己写的算法不能放在@SpringBootApplication的当前包和子包下

使用自定义算法

1.在主启动类加入@RibbonClient(name = “democloud-dept”,configuration = MySelfRule.class)
代表使用自定义的java文件
2.在其他的包下建立算法类,需要符合IRule类的规则
extends AbstractLoadBalancerRule
我想了一个需求,在所有的微服务机器上每个微服务访问的次数是总微服务的个数*2,且边路所有的微服务

package com.yan.demo.myrule;

import com.netflix.client.config.IClientConfig;
import com.netflix.loadbalancer.AbstractLoadBalancerRule;
import com.netflix.loadbalancer.ILoadBalancer;
import com.netflix.loadbalancer.Server;

import java.util.List;

/**
 * @Author: 闫明辉
 * @Description:
 * @Date: Create in 21:46 2020/3/5
 */
public class RandomRule_ymh extends AbstractLoadBalancerRule {
   
   </
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值