nacos注册中心自动上下负载

nacos注册中心自动上下负载,第1张

nacos注册中心自动上下负载

大家好,我是烤鸭:

 还有2天就过年了,祝大家新年快乐。最近好久没写技术文章了,还是得回归下主业,今天分享下nacos注册中心自动上下负载的方式和组件。

组件版本
    
        1.8
        2.2.6.RELEASE
        Hoxton.SR6
        2.2.1.RELEASE
    
    
        
            
                org.springframework.boot
                spring-boot-dependencies
                ${springboot.version}
                pom
                import
            
            
                org.springframework.cloud
                spring-cloud-dependencies
                ${springcloud.version}
                pom
                import
            
            
                com.alibaba.cloud
                spring-cloud-alibaba-dependencies
                ${springcloud-alibaba.version}
                pom
                import
            
        
    
使用actuator自带的endpoint

如果用actuator的接口是可以直接下线的,无需多余开发,只需要引用包就行。

http方式:(支持eurka和nacos)

curl -XPOST http://localhost:8080/actuator/service-registry?status=DOWN -H "Content-Type: application/vnd.spring-boot.actuator.v2+json;charset=UTF-8"

原理是调用ServiceRegistryEndpoint的setStatus。

底层的调用方法:

nacosDiscoveryProperties.namingMaintainServiceInstance()
					.updateInstance(serviceId, instance);

使用的话,最好还是加上actuator的鉴权。

自研负载组件(源码地址在下面)

有时候服务启动就注册到注册中心,但实际并没有准备好。

需要修改服务的自动注册属性,由插件注册(也可以在指定时机进行注册)

spring.cloud.nacos.discovery.register-enabled=false

插件里有两个endpoint

下线:(其中判断只能是localhost地址才能下线,只能下线本机)

// 调用的根源方法
nacosRegistration.getNacosNamingService().deregisterInstance(serviceName, groupName, ip, port, clusterName);

上线:(默认是项目启动时注册,可以自义定时机)

nacosRegistration.getNacosNamingService().registerInstance(serviceName, groupName, instance);

调用方式:(配合脚本使用更香)

#上线
curl -XPOST localhost:8080/actuator/graceful-refresh
#下线
curl -XPOST localhost:8080/actuator/graceful-pause
使用截图

服务注册成功:

请求下线接口:

脚本方式下线:

开源地址

https://gitee.com/fireduck_admin/nacos-ez-updown

总结

别总结了,快点下班,回家过年去了。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5719590.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存