负责均衡-手写简单的负载均衡和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)