#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实现网关全局过滤器功能

Spring | Spring5学习笔记 #yyds干货盘点#

#yyds干货盘点#磁盘分区学习笔记

#yyds干货盘点#liunx命令学习笔记

#yyds干货盘点#liunx命令学习笔记