一种分布式集群节点管理方法、系统、设备及介质技术方案

技术编号:34750182 阅读:20 留言:0更新日期:2022-08-31 18:45
本发明专利技术实施例提供了一种分布式集群节点管理方法、系统、设备及介质,通过切换主动关系,让各个节点主动来管理节点订阅配置变更的通知,同时让各个节点来管理节点主动拉取配置。节点管理端不需要关注推送的结果,转由各节点自己保证,在每次心跳上报的时候都会检测当前的配置版本,如果版本落后则会触发一次推送通知,所以不存在推送结果的获取问题。在节点数量增加的时候不需要管理节点持续维护长连接,同时各类型的消息直接也通过不同的通道来进行推送,不存在消息互相阻塞的情况。不存在消息互相阻塞的情况。不存在消息互相阻塞的情况。

【技术实现步骤摘要】
一种分布式集群节点管理方法、系统、设备及介质


[0001]本专利技术实施例涉及分布式节点管理
,具体涉及一种分布式集群节点管理方法、系统、设备及介质。

技术介绍

[0002]在分布式系统设计中,对各节点管理存在以下至少两个场景需要考虑:1)各节点状态监控,2)配置下发到各个节点。传统分布式集群管理是管理节点和各节点分别建立长连接的方式来进行通信,存在如下几点问题:(1)当节点数量增加时,长连接的方式性能不够;(2)没有连接复用,各类型消息可能会相互阻塞;(3)无法获取配置推送的结果。

技术实现思路

[0003]为此,本专利技术实施例提供一种分布式集群节点管理方法、系统、设备及介质,以解决传统管理节点向各个节点主动推送事件配置变更信息效果差的技术问题。
[0004]为了实现上述目的,本专利技术实施例提供如下技术方案:根据本专利技术实施例的第一方面,本申请实施例提供了一种分布式集群节点管理方法,所述方法包括:从节点客户端接收事件监听请求,创建对应的事件队列;从应用客户端接收事件发布请求,判断是否存在新发布的事件内容;如果存在新发布的事件内容,将新发布的事件内容分别追加至Redis中各个目标节点的事件队列中,按事件类型持久化存储事件内容;基于所述事件监听请求,实时监测是否发生事件配置变更;如果发生事件配置变更,向所述节点客户端推送事件通知;由所述节点客户端根据所述事件通知拉取配置信息。
[0005]进一步地,基于所述事件监听请求,实时监测是否发生事件配置变更,包括:基于所述事件监听请求,与所述节点客户端建立连接;根据所述事件监听请求中的事件类型,在数据库中查找是否存在对应事件的新发布内容。
[0006]进一步地,基于所述事件监听请求,与所述节点客户端建立连接,包括:在首次收到事件监听请求后,注册节点客户端,并将内存中维护的节点信息引用计数加1;与所述节点客户端建立连接;与最后一个节点客户端断开连接后,所述节点信息的引用计数为0,删除与所述事件监听请求对应的连接;其中,允许不同的节点客户端重复使用相同的事件监听请求进行连接。
[0007]进一步地,所述方法还包括:启动第一计时器,对与所述节点客户端建立连接进行计时;启动subscribe例程、sendLoop例程、recvLoop例程;通过所述subscribe例程订阅与节点名称相同的Redis Channel,用于接收事件信息;通过所述sendLoop例程将接收到的事件信息作为所述事件通知以及WatchResponse_Ping发送至所述节点客户端;通过所述recvLoop例程从所述节点客户端接收WatchRequest_Pong,并重置连接所述第一计时器;连接所述第一计时器超时后,关闭与所述节点客户端的连接。
[0008]进一步地,所述方法还包括:当发起事件监听请求以连接到节点接口时,在所述节点客户端启动第二计时器;收到WatchResponse_Ping后重置所述第二计时器的时间;超时后会主动关闭连接。
[0009]进一步地,将新发布的事件内容分别追加至Redis中各个目标节点的事件队列中,按事件类型持久化存储事件内容,包括:如果存在新发布的事件内容,向PCH管道追加相对应的事件发布请求;通过调度器对所述PCH管道中事件发布请求进行异步任务处理;根据目标信息或事件类型信息发送到各个具体的Redis通道中。
[0010]进一步地,由所述节点客户端根据所述事件通知拉取配置信息,包括:对不同类型的事件调用对应的拉取接口;通过调用的拉取接口从对应的数据库字段中,获取到不同类型的事件配置信息;根据不同的事件类型执行不同的动作。
[0011]根据本专利技术实施例的第二方面,本申请实施例提供了一种分布式集群节点管理系统,所述系统包括:应用客户端、节点管理端、节点客户端,所述节点管理端包括:创建模块,用于从所述节点客户端接收事件监听请求,创建对应的事件队列;事件发布模块,用于从应用客户端接收事件发布请求,判断是否存在新发布的事件内容;如果存在新发布的事件内容,将新发布的事件内容分别追加至Redis中各个目标节点的事件队列中,按事件类型持久化存储事件内容;事件监听模块,用于基于所述事件监听请求,实时监测是否发生事件配置变更;事件推送模块,用于如果发生事件配置变更,向所述节点客户端推送事件通知;所述节点客户端包括:事件拉取模块,用于根据所述事件通知拉取配置信息。
[0012]进一步地,基于所述事件监听请求,实时监测是否发生事件配置变更,包括:基于所述事件监听请求,与所述节点客户端建立连接;根据所述事件监听请求中的事件类型,在数据库中查找是否存在对应事件的新发布内容。
[0013]进一步地,基于所述事件监听请求,与所述节点客户端建立连接,包括:在首次收到事件监听请求后,注册节点客户端,并将内存中维护的节点信息引用
计数加1;与所述节点客户端建立连接;与最后一个节点客户端断开连接后,所述节点信息的引用计数为0,删除与所述事件监听请求对应的连接;其中,允许不同的节点客户端重复使用相同的事件监听请求进行连接。
[0014]进一步地,所述节点管理端还用于:启动第一计时器,对与所述节点客户端建立连接进行计时;启动subscribe例程、sendLoop例程、recvLoop例程;通过所述subscribe订阅与节点名称相同的Redis Channel,用于接收事件信息;通过所述sendLoop例程将接收到的事件信息作为所述事件通知以及WatchResponse_Ping发送至所述节点客户端;通过所述recvLoop例程从所述节点客户端接收WatchRequest_Pong,并重置连接所述第一计时器;连接所述第一计时器超时后,关闭与所述节点客户端的连接。
[0015]进一步地,所述节点客户端还用于:当发起事件监听请求以连接到节点接口时,在所述节点客户端启动第二计时器;收到WatchResponse_Ping后重置所述第二计时器的时间;超时后会主动关闭连接。
[0016]进一步地,将新发布的事件内容分别追加至Redis中各个目标节点的事件队列中,按事件类型持久化存储事件内容,包括:如果存在新发布的事件内容,向PCH管道追加相对应的事件发布请求;通过调度器对所述PCH管道中事件发布请求进行异步任务处理;根据目标信息或事件类型信息发送到各个具体的Redis通道中。
[0017]进一步地,由所述节点客户端根据所述事件通知拉取配置信息,包括:对不同类型的事件调用对应的拉取接口;通过调用的拉取接口从对应的数据库字段中,获取到不同类型的事件配置信息;根据不同的事件类型执行不同的动作。
[0018]根据本专利技术实施例的第三方面,提供了一种分布式集群节点管理设备,所述设备包括:处理器和存储器;所述存储器用于存储一个或多个程序指令;所述处理器,用于运行一个或多个程序指令,用以执行如上任一项所述的一种分布式集群节点管理方法的步骤。
[0019]根据本专利技术实施例的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式集群节点管理方法,其特征在于,所述方法包括:从节点客户端接收事件监听请求,创建对应的事件队列;从应用客户端接收事件发布请求,判断是否存在新发布的事件内容;如果存在新发布的事件内容,将新发布的事件内容分别追加至Redis中各个目标节点的事件队列中,按事件类型持久化存储事件内容;基于所述事件监听请求,实时监测是否发生事件配置变更;如果发生事件配置变更,向所述节点客户端推送事件通知;由所述节点客户端根据所述事件通知拉取配置信息。2.如权利要求1所述的一种分布式集群节点管理方法,其特征在于,基于所述事件监听请求,实时监测是否发生事件配置变更,包括:基于所述事件监听请求,与所述节点客户端建立连接;根据所述事件监听请求中的事件类型,在数据库中查找是否存在对应事件的新发布内容。3.如权利要求2所述的一种分布式集群节点管理方法,其特征在于,基于所述事件监听请求,与所述节点客户端建立连接,包括:在首次收到事件监听请求后,注册节点客户端,并将内存中维护的节点信息引用计数加1;与所述节点客户端建立连接;与最后一个节点客户端断开连接后,所述节点信息的引用计数为0,删除与所述事件监听请求对应的连接;其中,允许不同的节点客户端重复使用相同的事件监听请求进行连接。4.如权利要求3所述的一种分布式集群节点管理方法,其特征在于,所述方法还包括:启动第一计时器,对与所述节点客户端建立连接进行计时;启动subscribe例程、sendLoop例程、recvLoop例程;通过所述subscribe例程订阅与节点名称相同的Redis Channel,用于接收事件信息;通过所述sendLoop例程将接收到的事件信息作为所述事件通知以及WatchResponse_Ping发送至所述节点客户端;通过所述recvLoop例程从所述节点客户端接收WatchRequest_Pong,并重置连接所述第一计时器;连接所述第一计时器超时后,关闭与所述节点客户端的连接。5.如权利要求4所述的一种分布式集群节点管理方法,其特征在于,所述方法还包括:当发起事件监听请求以连接...

【专利技术属性】
技术研发人员:赵昶张豪越袁崇杰刘金钊姚锡龙殷杰杨永锋
申请(专利权)人:北京长亭未来科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1