#yyds干货盘点#springcloud学习笔记---Robbin---2
Posted 追梦_zx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#yyds干货盘点#springcloud学习笔记---Robbin---2相关的知识,希望对你有一定的参考价值。
在上一章中,我们实现注册中心,在其中,为了防止单机服务端宕机,影响功能使用,我们搭建了集群,那么集群就出现了一个问题,负载均衡,如何在多个服务端中选择合适的服务端呢?那么就要用到我们的Robbin了
Robbin是帮助我们实现服务和服务之间的负载均衡的,Robbin是客户端负载均衡。
客户端负载均衡:
customer客户端模块,将两个Search模块信息全部拉取到本地的缓存,在customer中做一个负载均衡的策略,选中某一个服务
服务端负载均衡:
在注册中,直接根据你指定的负载均衡策略,进行负载判断
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
public RestTemplate 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整合Sentinel使用Nacos存储规则
#yyds干货盘点# springcloud整合gateway实现网关全局过滤器功能