0
点赞
收藏
分享

微信扫一扫

Spring Cloud Nacos 2021使用LoadBalancer + Nacos做负载均衡

一、微服务之间的调用方式

Spring Cloud中微服务调用默认是用http请求,主要通过一下三种 API

  • RestTemplate:同步 http API
  • WebClient:异步响应式 http API
  • 第三方封装:如 openfeign

二、LoadBalancer替代了Ribbon

Ribbon目前已经停止维护,新版SpringCloud(2021.x.x)LoadBalancer替代了RibbonSpring Cloud全家桶在Spring Cloud Commons项目中,添加了Spring cloud Loadbalancer作为新的负载均衡器,并且做了兼容

Nacos 2021版本已经没有自带ribbon的整合,所以无法通过修改Ribbon负载均衡的模式来实现nacos提供的负载均衡模式,需要引入另一个支持的jar包loadbalancer。

三、使用nacos 2021.1版本实现负载均衡

nacos最新版 2021.1版本中

<dependency>
 <groupId>com.alibaba.cloud</groupId>
 <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
 <version>2021.1</version>
</dependency>

四、配置负载均衡策略

4.1 Ribbon载均衡策略

Ribbon有多种负载均衡策略

  • 随机 RandomRule
  • 轮询 RoundRobinRule
  • 重试 RetryRule
  • 最低并发 BestAvailableRule
  • 可用过滤 AvailabilityFilteringRule
  • 响应时间加权重 ResponseTimeWeightedRule
  • 区域权重 ZoneAvoidanceRule
4.2 LoadBalancer载均衡策略

LoadBalancer貌似只提供了两种负载均衡器,不指定的时候默认用的是轮询

  • RandomLoadBalancer 随机
  • RoundRobinLoadBalancer 轮询
举报

相关推荐

0 条评论