#yyds干货盘点#springcloud学习笔记---Robbin---2

少年恃险若平地,独倚长剑凌清秋。这篇文章主要讲述#yyds干货盘点#springcloud学习笔记---Robbin---2相关的知识,希望能为你提供帮助。
在上一章中,我们实现注册中心,在其中,为了防止单机服务端宕机,影响功能使用,我们搭建了集群,那么集群就出现了一个问题,负载均衡,如何在多个服务端中选择合适的服务端呢?那么就要用到我们的Robbin了
Robbin是帮助我们实现服务和服务之间的负载均衡的,Robbin是客户端负载均衡。
客户端负载均衡:
customer客户端模块,将两个Search模块信息全部拉取到本地的缓存,在customer中做一个负载均衡的策略,选中某一个服务
服务端负载均衡:
在注册中,直接根据你指定的负载均衡策略,进行负载判断

#yyds干货盘点#springcloud学习笔记---Robbin---2

文章图片

1、启动两个Search模块 2、在customer导入robbin依赖(调用方)
< dependency> < groupId> org.springframework.cloud< /groupId> < artifactId> spring-cloud-starter-netflix-ribbon< /artifactId> < /dependency>

3、配置整合RestTemplate和Robbin
@Configuration public class RestTemplateConfig @Bean @LoadBalanced publicRestTemplate restTemplate() return new RestTemplate();

4、在customer中去访问Search
@GetMapping("/customer") public String customer() String result = restTemplate.getForObject("http://SEARCH/search", String.class); //4. 返回 return result;

配置负载均衡策略
1、负载均衡策略RandomRule:随机策略
RoundRobbinRule:轮询策略
WeightedResponseTimeRule:默认会采用轮询的策略,后续会根据服务的响应时间,自动给你分配权重
BestAvailableRule:根据被调用方并发数最小的去分配
2、采用注解的形式
@Bean public IRule robbinRule() return new RandomRule();

3、配置文件去指定负载均衡的策略(推荐)(yml文件中)
#指定具体服务的负载均衡策略 SEARCH:#编写服务名称 ribbon: NFLoadBalancerRuleClassName: com.netflix.loadbalancer.WeightedResponseTimeRule

【#yyds干货盘点#springcloud学习笔记---Robbin---2】
#yyds干货盘点#springcloud学习笔记---Robbin---2

文章图片


    推荐阅读