0
点赞
收藏
分享

微信扫一扫

【Git】Git版本控制工具使用详解

前行的跋涉者 2024-01-04 阅读 9

一、Ribbon

1.1、概述

1.2、spring-cloud-starter-alibaba-nacos-discovery默认集成了Ribbon

1.3、官网

https://github.com/Netflix/ribbon/wiki/Getting-Started

1.4、Ribbon进入维护模式怎么办

1.5、功能

1.5.1、LB

1.5.2、Ribbon本地负载均衡 vs Nginx服务端负载均衡

1.5.3、集中式LB

1.5.4、进程内LB

1.6、 Ribbon工作原理

1.7、核心组件IRule

1.7.1、概述

1.7.2、继承结构

1.7.3、组件介绍

1.7.4、IRule原理

1.8、如何使用

/**
 * @Author : 一叶浮萍归大海
 * @Date: 2024/1/3 9:00
 * @Description:
 */
public class MyRandomRule extends AbstractLoadBalancerRule {

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

        return servers.get(index);
    }

    @Override
    public void initWithNiwsConfig(IClientConfig iClientConfig) {

    }


}
/**
 * @Author : 一叶浮萍归大海
 * @Date: 2024/1/3 8:39
 * @Description:
 */
@RibbonClients(value = {
        @RibbonClient(name = "stock-service-nacos",configuration = MyRibbonConfig.class)
})
@SpringBootApplication
public class OrderServiceRibbon8001MainApplication {

    public static void main(String[] args) {
        SpringApplication.run(OrderServiceRibbon8001MainApplication.class, args);
    }


}

1.9、参考

举报

相关推荐

0 条评论