负责均衡-手写简单的负载均衡和ribbon介绍

Posted xiaofeiyang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了负责均衡-手写简单的负载均衡和ribbon介绍相关的知识,希望对你有一定的参考价值。

服务器负载均衡就是

nignx

客户端负载均衡

客户端负责,负载均衡规则,从服务列表里面选择具体的服务实例。

从nacos服务发现组件上,利用简单的随机负载均衡算法来获取服务地址。

List<ServiceInstance> instances = discoveryClient.getInstances("pay");
List<String> targerUrls = instances.stream().map(instance->instance.getUri().toString()+"/test")
.collect(Collectors.toList());
int i= ThreadLocalRandom.current().nextInt(targerUrls.size());
log.info("请求目标地址:"+targerUrls.get(i));
return restTemplate.getForObject(targerUrls.get(i),String.class);

使用ribbon实现负载均衡
ribbon是一个netflix开源的实现负载均衡的组件,
集成方式
@Bean
@LoadBalanced
public RestTemplate restTemplate(){
return new RestTemplate();
}
return restTemplate.getForObject("http://pay/test",String.class);
pay是服务名称

接口                             作用                             默认值                                    
IClientConfig 读取配置 DefaultClientConfigImpl
IRule    
IPing    
ServerList<Server>    
ServerList<>    

以上是关于负责均衡-手写简单的负载均衡和ribbon介绍的主要内容,如果未能解决你的问题,请参考以下文章

微服务架构整理-(六SpringCloud实战之Ribbon)

微服务架构整理-(六SpringCloud实战之Ribbon)

手写类似Ribbon 实现本地负载均衡,so easy,一眼你就懂

Ribbon负载均衡和调用

Ribbon 负载均衡机制(自定义负载均衡规则)

springcloud-Ribbon负载均衡服务调用