自定义负载均衡(Ribbon)

增加自定义负载均衡实现类

java 复制代码
package com.learning.springcloud.ribbon.rule;
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;
import java.util.concurrent.ThreadLocalRandom;
public class CustomRule extends AbstractLoadBalancerRule {
    @Override    
    public void initWithNiwsConfig(IClientConfig iClientConfig) {

    }

    @Override    
    public Server choose(Object key) {
        ILoadBalancer loadBalancer = this.getLoadBalancer();        
        // 获取当前请求的服务的实例        
        List<Server> reachableServers = loadBalancer.getReachableServers();        
        int random = ThreadLocalRandom.current().nextInt(reachableServers.size());        
        Server  server = reachableServers.get(random);        
        return server;    
    }
}

配置自定义负载均衡策略

  • 修改配置文件 application.yml
bash 复制代码
stock-service:
  ribbon:
    NFLoadBalancerRuleClassName:  com.learning.springcloud.ribbon.rule.CustomRule
    # NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule

饥饿加载负载均衡策略

bash 复制代码
ribbon:
  eager-load:
    # 开启 ribbon 饥饿记载    
    enabled: true    
    # 配置 需要饥饿加载的服务名,多个逗号分割    
    clients: stock-service
相关推荐
budingxiaomoli13 小时前
多机部署,负载均衡-LoadBalancer
运维·spring cloud·负载均衡
byoass15 小时前
企业云盘高可用架构:主备切换、负载均衡与健康检查实战
运维·网络·安全·架构·云计算·负载均衡
phltxy15 小时前
告别繁琐URL!Spring Cloud OpenFeign 优雅实现微服务远程调用
spring·spring cloud·微服务
Jinkxs1 天前
LoadBalancer- 主流负载均衡工具盘点:Nginx / Haproxy / Keepalived 基础介绍
运维·nginx·负载均衡
budingxiaomoli2 天前
SpringCloud概述
java·spring cloud·微服务
计算机安禾2 天前
【Linux从入门到精通】第48篇:Linux集群与负载均衡——LVS与Keepalived高可用
linux·负载均衡·lvs
云飞云共享云桌面2 天前
东莞智能装备工厂数字化实践—研发部门10名SolidWorks设计共享一台云主机流畅设计
服务器·自动化·汽车·负载均衡·制造
空中海2 天前
第五篇:网关篇 — Spring Cloud Gateway
spring cloud
北风toto2 天前
Spring Boot / Spring Cloud 配置文件加密详解:使用 jasypt-spring-boot 实现 ENC() 加密
spring boot·后端·spring cloud
phltxy3 天前
Spring Cloud 服务注册与发现:Eureka 从原理到实战
java·spring cloud·eureka