Ribbon
Ribbon是Netflix公司开源的一个负载均衡的项目,是一个基于 HTTP、TCP的客户端负载均衡器.
上面的都是服务端负载均衡,客户端负载均衡与服务端负载均衡的区别在于客户端要维护一份服务列表,Ribbon从
Eureka获取服务列表,Ribbon根据负载均衡算法直接请求到具体的微服务,中间省去了负载均衡服务器。
常用的负载均衡算法有: 轮循、随机、加权轮循、加权随机、地址哈希等方法。
与Nginx的区别
Ribbon负责客户端(服务消费者)的负载均衡,而Nginx负责的是服务端的负载均衡。
RestTemplate
RestTemplate 是远程调用Http的工具,是对java底层http的封装,使用RestTemplata用户可以不再关注底层的连接建立,并且RestTemplata不仅支持Rest规范,还可以定义返回值对象类型。
RestTemplata支持本地负载均衡,配合Ribbon一起使用
例如:
@Configuration
public class RestTemplateConfig {
@Bean
@LoadBalanced
public RestTemplate restTemplate() {
return new RestTemplate();
}
}
或 添加bean 到启