nacos注册中心集群
【摘要】 本篇主要讲解nacos注册中心的集群,欢迎各位大佬前来围观
前言:本篇将介绍nacos的集群部署,期待能方便复习以及帮助的诸位大佬😉
nacos集群
SpringBoot 整合Spring Cloud Alibaba Nacos注册中心。多数情况一个应用系统系统只有一个注册中心,但由于微服务架构系统跨区域分布部署可能有网络延迟问题,所以需要考虑多注册中心方案。
由于存在老旧基于Spring Cloud的微服务系统迁移到新注册中心问题,类似灰度发布,需要新老Nacos注册中心并存,可以通过某个SpringBoot项目同时配置多个注册中心来解决。
首先配置yml文件
修改user-service的application.yml文件,添加集群配置:
spring:
cloud:
nacos:
server-addr: localhost:8848
discovery:
cluster-name: HZ
重启两个user-service实例后,我们可以在nacos控制台看到下面结果:
再次复制一个user-service启动配置,添加属性:
-Dserver.port=8083 -Dspring.cloud.nacos.discovery.cluster-name=SH
spring:
application:
name: userservice
profiles:
active: dev
cloud:
nacos:
server-addr: nacos:8848
config:
file-extension: yaml
启动UserApplication3后再次查看nacos控制台:
负载均衡
默认的ZoneAvoidanceRule
并不能实现根据同集群优先来实现负载均衡。
因此Nacos中提供了一个NacosRule
的实现,可以优先从同集群中挑选实例。
首先给order-service配置集群信息
修改order-service的application.yml文件,添加集群配置:
spring:
cloud:
nacos:
server-addr: localhost:8848
discovery:
cluster-name: HZ
修改order-service的application.yml文件,修改负载均衡规则:
userservice:
ribbon:
NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule
权重配置
实际部署中会出现这样的场景:
服务器设备性能有差异,部分实例所在机器性能较好,另一些较差,我们希望性能好的机器承担更多的用户请求。
但默认情况下NacosRule是同集群内随机挑选,不会考虑机器的性能问题。
因此,Nacos提供了权重配置来控制访问频率,权重越大则访问频率越高。
在nacos控制台,找到user-service的实例列表,点击编辑,即可修改权重:
在弹出的编辑窗口,修改权重:
注意:如果权重修改为0,则该实例永远不会被访问
本篇文章就介绍到这里,谢谢各位大佬的支持🤩🤩🤩
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)