nacos主从实现切换

使用场景:
主要测试单服务的代码性能、bug瓶颈等,发生问题时,可以保留现场、且不影响流量正常进入(切换是会损失几秒的流量,可以忽略不计)

思路:主服务器在发生雪崩时,从服务自动上线、主服务下线

因为项目的注册发现是基于阿里nacos的,所以使用它 的 api 能力

 1. 先启动从服务 ,从服务设置weight=0 ,作为等待随时被切换使用 监控(做个每隔几秒检查服务示范正常,不正常则触发报警)
 2. 主服务器是否雪崩,发生雪崩时,监控触发报警机制 自动调用/changeSlave接口进行切换

import cn.hutool.json.JSONUtil;
import com.alibaba.cloud.nacos.NacosDiscoveryProperties;
import com.alibaba.cloud.nacos.NacosServiceManager;
import com.alibaba.nacos.api.exception.NacosException;
import com.alibaba.nacos.api.naming.NamingService;
import com.alibaba.nacos.api.naming.pojo.Instance;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.
  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Nacos实现原理主要涉及到服务发现和动态配置两个方面。在服务发现方面,Nacos通过注册中心的方式,将服务实例的信息注册到Nacos服务器上,然后客户端可以通过查询Nacos服务器来获取服务实例的信息,实现服务的发现。这样一来,服务消费者就可以动态地根据需要调用不同的服务实例。 在动态配置方面,Nacos提供了简单、优雅、高效的方式来管理配置,并实现配置的动态变更。首先,我们需要在Nacos中定义配置,然后将配置信息保存在Nacos服务器上。客户端可以通过查询Nacos服务器来获取配置信息,并在应用程序中动态地使用这些配置。当配置发生变化时,Nacos会通知客户端,客户端可以根据通知来更新配置,并及时应用配置的变更。这样一来,我们就可以方便地进行配置的管理和动态的配置更新。 总结来说,Nacos实现原理主要包括服务发现和动态配置两个方面。通过注册中心的方式实现服务的发现,以及通过配置管理和通知机制实现动态配置的变更。这些功能使得Nacos成为一个强大的服务注册与发现以及动态配置管理的工具。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Nacos 原理详解](https://blog.csdn.net/hujun_123456/article/details/127138333)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Nacos配置中心原理分析](https://download.csdn.net/download/weixin_38726712/15442200)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值