当前位置:网站首页>Nacos集群分区
Nacos集群分区
2022-07-30 03:25:00 【Leon_Jinhai_Sun】
实际上集群分区概念在之前的Eureka中也有出现,比如:
eureka:
client:
fetch-registry: false
register-with-eureka: false
service-url:
defaultZone: http://localhost:8888/eureka
# 这个defaultZone是个啥玩意,为什么要用这个名称?为什么要要用这样的形式来声明注册中心?在一个分布式应用中,相同服务的实例可能会在不同的机器、位置上启动,比如我们的用户管理服务,可能在成都有1台服务器部署、重庆有一台服务器部署,而这时,我们在成都的服务器上启动了借阅服务,那么如果我们的借阅服务现在要调用用户服务,就应该优先选择同一个区域的用户服务进行调用,这样会使得响应速度更快。
因此,我们可以对部署在不同机房的服务进行分区,可以看到实例的分区是默认:
我们可以直接在配置文件中进行修改:
spring:
application:
name: borrowservice
cloud:
nacos:
discovery:
server-addr: localhost:8848
# 修改为重庆地区的集群
cluster-name: Chongqing当然由于我们这里使用的是不同的启动配置,直接在启动配置中添加环境变量spring.cloud.nacos.discovery.cluster-name也行,这里我们将用户服务和图书服务两个区域都分配一个,借阅服务就配置为成都地区:
修改完成之后,我们来尝试重新启动一下(Nacos也要重启),观察Nacos中集群分布情况:

可以看到现在有两个集群,并且都有一个实例正在运行。我们接着去调用借阅服务,但是发现并没有按照区域进行优先调用,而依然使用的是轮询模式的负载均衡调用。
我们必须要提供Nacos的负载均衡实现才能开启区域优先调用机制,只需要在配制文件中进行修改即可:
spring:
application:
name: borrowservice
cloud:
nacos:
discovery:
server-addr: localhost:8848
cluster-name: Chengdu
# 将loadbalancer的nacos支持开启,集成Nacos负载均衡
loadbalancer:
nacos:
enabled: true现在我们重启借阅服务,会发现优先调用的是同区域的用户和图书服务,现在我们可以将成都地区的服务下线:

可以看到,在下线之后,由于本区域内没有可用服务了,借阅服务将会调用重庆区域的用户服务。
除了根据区域优先调用之外,同一个区域内的实例也可以单独设置权重,Nacos会优先选择权重更大的实例进行调用,我们可以直接在管理页面中进行配置:

或是在配置文件中进行配置:
spring:
application:
name: borrowservice
cloud:
nacos:
discovery:
server-addr: localhost:8848
cluster-name: Chengdu
# 权重大小,越大越优先调用,默认为1
weight: 0.5通过配置权重,某些性能不太好的机器就能够更少地被使用,而更多的使用那些网络良好性能更高的主机上的实例。
边栏推荐
- 动态绑定href url
- 计划处理链的很多种情况
- redis的学习_基础部分
- 3种实现文本复制功能的方法
- A. Strange Birthday Party- Codeforces Round #694 (Div. 1)
- 请问下,datax同步到oceanbase数据库时,按照主键更新方式写入,下拉框里的内容要如何填写?
- 乖宝宠物IPO过会:年营收25.75亿 KKR与君联是股东
- CF1473C No More Inversions
- 雪花是否一样问题
- Not enough information to list load addresses in the image map. (STM32 compilation error)
猜你喜欢

HCIP OSPF

三年经验只会点点点(功能测试),辞职后你可能连工作都找不到了。

One book 1922 - table tennis

HCIP实验(05)OSPF综合实验

【基于RT-Thread+RA6M4的智能鱼缸系统设计之鱼我所欲也】

联邦学习综述(二)——联邦学习的分类、框架及未来研究方向

1050 graphics card, why is the graphics card usage ranking on Steam always the top five

JIT VS AOT

HCIP experiment (05) OSPF comprehensive experiment

JUC (7): Thread Safety Analysis of Variables
随机推荐
Open address method hash implementation - secondary detection method
杜教筛【莫比乌斯前缀和,欧拉函数前缀和】推导与模板【一千五百字】
精品:淘宝/天猫获取购买到的商品订单详情 API
开放地址法哈希实现——二次探测法
Drools(7):WorkBench
Ansible简介(详细)特性+优点+设计理念+应用领域+系统架构+工作原理+任务执行流程
NLP Natural Language Processing (1)
uni-app实现跨端开发手机蓝牙接收和发送数据
JUC (7): Thread Safety Analysis of Variables
厉害,腾讯技术专家手撸Redis技术笔记,下载量已突破30W
新手入门上位机开发 C#语言:PC串口发送数据
WPF 学习笔记《WPF布局基础》
OPENSQL
新接口——“淘特”关键词搜索的API接口
3.nodejs--modularization
Not enough information to list load addresses in the image map. (STM32 compilation error)
Oracle 进程数和会话数的关系
单片机没有随机数发生器如何生成随机数——2022.07.26
计划处理链的很多种情况
DAP data processing process