前言:最近搞关于微服务的灰度发布,发现一种灰度发布方案是基于nacos配置的,操作也很简单:就是在nacos的后台设置实例的权重
1.nacos控制台配置
设置多个微服务中的权重,其中权重范围为0~1中的浮点数,越接近1被访问的概率越大。下图可以理解为8087的服务被访问到的概率是10%,而8086被访问到的概率为90%。前提是两个服务都要是上线状态。

2.配置网关
这一步只需要在网关中添加就行。
这一步是重点,因为新版本的nacos(以2021年4月的最新版本为例)已经摒弃ribbon,使用loadbalancer作为负载均衡的插件了。所以需要先在依赖中加入依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>
然后在网关中加入如下配置开启负载均衡
spring:
cloud:
loadbalancer:
nacos:
enabled: true
然后测试访问,权重配置就能生效了。按照我以上的配置,访问到8086的概率就是90%
其他:nacos官网该更新了,参考官网的操作真的没用。

Comments | NOTHING