栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

nacos注册中心自动上下负载

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

总结

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/724037.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号