nacos注册中心自动上下负载

大家好,我是烤鸭:

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

组件版本

    <properties><java.version>1.8</java.version><springboot.version>2.2.6.RELEASE</springboot.version><springcloud.version>Hoxton.SR6</springcloud.version><springcloud-alibaba.version>2.2.1.RELEASE</springcloud-alibaba.version></properties>
    <dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>${springboot.version}</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${springcloud.version}</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>${springcloud-alibaba.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement>

使用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://www.mzph.cn/news/412488.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

windows10 C盘清理

大家好&#xff0c;我是烤鸭&#xff1a; 身为一个号称修电脑的&#xff0c;磁盘清理是必备技能了。前几天刚出的新闻 男子帮女友清理电脑C盘&#xff0c;扫出17万个文件。 想必大家都经历过清理C盘的痛苦&#xff0c;这两天正好又清了&#xff0c;分享下。 先给个结论&#…

《实现领域驱动设计》读书笔记

大家好&#xff0c;我是烤鸭&#xff1a; 《实现领域驱动设计》&#xff0c;读书笔记&#xff0c;贴个封面&#xff0c;要不不知道是哪本。 了解概念 刚开始接触DDD&#xff0c;肯定懵逼&#xff0c;很多名词&#xff0c;一点点看下。 领域&#xff1a;带有业务属性的范…

spring junit单元测试

项目是有很多个功能块组成的&#xff0c;我们开发的时候&#xff0c;当我们开发出来一个功能&#xff0c;想要测试这个功能是否正确&#xff0c;不可能等到前端和后端全部写好了再进行测试&#xff0c;这样太浪费时间&#xff0c;有没有什么方法能直接测试后台的功能写的是否正…

windows docker redis

大家好&#xff0c;我是烤鸭&#xff1a; docker真的太方便了&#xff0c;尤其是对windows系统&#xff0c;友好的不得了。以前还只能是正版的专业版才能用&#xff0c;现在已经没有限制了&#xff0c;虽然加了收费&#xff0c;个人用免费就够了。redis 新版也不支持windows系统…

[css] CSS3新增伪类有哪些并简要描述

[css] CSS3新增伪类有哪些并简要描述 个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

模拟微信自动化发送(微信公众号文章自动点击)

大家好&#xff0c;我是烤鸭&#xff1a; 分享个微信自动化发送的新方式&#xff0c;仅技术分享。 本来是公众号文章抓取相关的&#xff0c;审核一直不过&#xff0c;将就看吧。 需要的工具 Java&#xff08;jdk1.8&#xff09; Fiddler Python&#xff08;3.8&#xff09;…

Entity FrameWork 操作使用详情

Entity FrameWork 是以ADO.net为基础发展的ORM解决方案。 一、安装Entity FrameWork框架 二、添加ADO.Net实体数据模型 三、EF插入数据 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace EFDem…

网络通信中TCP出现的黏包以及解决方法 socket 模拟黏包

粘包问题概述 1.1 描述背景 采用TCP协议进行网络数据传送的软件设计中&#xff0c;普遍存在粘包问题。这主要是由于现代操作系统的网络传输机制所产生的。我们知道&#xff0c;网络通信采用的套接字(socket)技术&#xff0c;其实现实际是由系统内核提供一片连续缓存(流缓冲)来…

windows docker redis 集群部署

大家好&#xff0c;我是烤鸭&#xff1a; 上次分享了windows docker redis&#xff0c;这么快就不够用了&#xff0c;单机的不行&#xff0c;整个集群的&#xff0c;看了网上的教程都好麻烦&#xff0c;简单点。 单机的&#xff1a;https://blog.csdn.net/Angry_Mills/article…

Codeforces Round #530 Div. 1 自闭记

A&#xff1a;显然应该让未确定的大小尽量大。不知道写了啥就wa了一发。 #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> #include<cstring> #include<algorithm> using namespace std; #define ll long long #…

自研redis sdk支持自动dns切换(附源码)

大家好&#xff0c;我是烤鸭&#xff1a; 标题起的有点大了&#xff0c;说是自研&#xff0c;其实就是个封装&#xff0c;不过倒是解决了dns切换的问题&#xff08;虽然不太优雅&#xff09;。 背景 之前做活动的时候&#xff0c;用域名链接的redis&#xff0c;当时做了主备集…

使用Canal实现redis和mysql的同步

使用Canal实现redis和mysql的同步 ### canal 工作思路 Canal 会将自己伪装成 MySQL 从节点&#xff08;Slave&#xff09;&#xff0c;并从主节点&#xff08;Master&#xff09;获取 Binlog&#xff0c;解析和贮存后供下游消费端使用。Canal 包含两个组成部分&#xff1a;服务…

上线到凌晨4点半 pagehelper的bug?

大家好&#xff0c;我是烤鸭&#xff1a; 上上周末上线到凌晨4点半&#xff0c;哭了&#xff0c;没想到问题竟然如此简单。最近又懒惰了&#xff0c;写了开头就一直放着了&#xff0c;今天终于补上。 ​ 问题日志 Error querying database. Cause: com.github.pagehelper.P…

skywalking 引起 spring-cloud-gateway 的内存溢出 skywalking的bug

大家好&#xff0c;我是烤鸭&#xff1a; 又是个线上问题记录&#xff0c;这次坑惨了&#xff0c;开源软件也不是万能的&#xff0c;还是要做好压测和灰度。 问题 上游反馈大量超时&#xff0c;不止某一个服务&#xff0c;查看服务没有问题&#xff0c;猜测是网络或者环境问题…

长连接检测 监控的一点思考 java实现

大家好&#xff0c;我是烤鸭&#xff1a; 怎么监控长链接服务器的稳定&#xff0c;除了探活服务之外&#xff0c;怎么保证长链接的收发正常&#xff0c;这篇文章考虑下这个。 问题来源 运营反馈部分直播间无法收到弹幕、点赞消息&#xff0c;第一时间进行复现&#xff0c;发现…