SpringCloud- Ribbon 负载均衡 轮训算法

前言

负载均衡算法:
RestTemplate接口请求数 % 服务器集群总数量 = 实际调用服务器的位置下标

过程

 	// 获取集群中可用服务列表信息 字符串格式
    List<String> services = discoveryClient.getServices();
    // 获取下标为0的 服务信息
    String serviceInfo = services.get(0);
    
    // 获取指定名称 : provider-service 服务列表 服务实例
    List<ServiceInstance> instances = discoveryClient.getInstances("provider-service");
    // 获取下标为0 的服务实例对象
    ServiceInstance serviceInstance = instances.get(0);

可以通过该方法 获取指定名称的服务实例对象集合

List instances = discoveryClient.getInstances(“provider-service”);

如:

LIst[0] instances = 127.0.0.1:8081
LIst[1] instances = 127.0.0.1:8082

8081+8082 组成简单集群, 提供 2 个可用服务,集群总计 2 台

按照内部轮训算法 实现原理如下:

当客户端请求为1时 : 1 % 2 = 1 调用服务地址 127.0.0.1:8082
当客户端请求为2时 : 2 % 2 = 0 调用服务地址 127.0.0.1:8081


总结

以此类推 实现轮训集群策略

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值