少年恃险若平地,独倚长剑凌清秋。这篇文章主要讲述#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
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干货盘点# C语言自定义类型的介绍(结构体,枚举,联合体,位段)
- #私藏项目实操分享# Java深层系列「技术盲区」让我们一起探索一下Netty(Java)底层的“零拷贝Zero-Copy”技术(上)
- #yyds干货盘点#复合数据类型–Object类型
- #私藏项目实操分享# Mybatis自定义拦截器与插件开发
- redis二进制编译安装
- #yyds干货盘点#从零学习spring security基本原理了解
- Kubernetes访问控制之RBAC
- 针对win7玩游戏发热,有何降温办法?
- Windows7笔记本硬件升级让你流畅玩网络游戏