一种实现感知redis接入机动态扩缩容的方法及系统与流程

文档序号:34653112发布日期:2023-06-29 21:34阅读:31来源:国知局
一种实现感知redis接入机动态扩缩容的方法及系统与流程

本申请属于互联网,具体涉及一种实现感知redis接入机动态扩缩容的方法及系统。


背景技术:

1、在现有的基于分布式缓存架构,接入机是参照twproxy架构设计的,当接入机侧需要扩容、缩容时,接入机集群节点发生变化。对于使用的常规客户端而言,应用侧获取的连接池只是初始化时配置的连接节点信息,扩缩容后的节点变化无法在应用侧被体现,达不到扩缩容的目的。


技术实现思路

1、本申请实施例的目的是提供一种实现感知redis接入机动态扩缩容的方法及系统,能够解决目前接入机侧扩缩容时,扩缩容后的节点变化无法在应用侧被体现,因而达不到扩缩容的目的的问题。

2、为了解决上述技术问题,本申请是这样实现的:

3、第一方面,本申请实施例提供了一种实现感知redis接入机动态扩缩容的方法,包括:

4、s101:初始化客户端nclient,在nclient初始化阶段,读取目标用户本地配置文件,完成连接池初始化配置;

5、s102:接入机接收并完成扩缩容操作,完成扩缩容操作的接入机集群的节点列表元数据同步更新至分布式协调服务nodezookeeper中;

6、s103:筛选节点nodes,并将筛选后的nodes更新至可用节点列表。

7、进一步地,nclient还用于根据配置初始化并开启监控进程。

8、进一步地,nclient还用于维护多个重要全局数据结构,全局数据结构包括:节点nodes、nodeszk、可用节点列表ablenodes以及可用节点连接池nodepoolmap。

9、进一步地,s102具体包括:

10、s1021:监控进程包括向接入机发送命令请求以获取保存于nodezookeeper中的接入机集群节点列表,将接入机集群节点列表保存于nodeszk中;

11、s1022:将nodeszk中的接入机集群节点列表同步至nodes中,监控进程还包括对nodes遍历校验。

12、进一步地,s103具体包括:

13、s1031:筛选nodes包括对nodes遍历校验,判断nodes中节点的失效标志,其中,未失效节点存放于临时节点列表tempablenodes;

14、s1032:将筛选后的所述nodes更新至可用节点列表中包括将tempablenodes中的节点加入至ablenodes,节点的nodepool加入至nodepoolmap。

15、s1033:从ablenodes筛选出待移除节点列表removenode,将removenode中的节点从nodepoolmap中移除。

16、第二方面,本申请实施例提供了一种实现感知redis接入机动态扩缩容的系统,包括:

17、接入机节点连接池更新模块用于初始化客户端nclient,在nclient初始化阶段,读取目标用户本地配置文件,完成连接池初始化配置;

18、客户端监控定时查询模块,接入机接收并完成扩缩容操作,完成扩缩容操作的接入机集群的节点列表元数据同步更新至分布式协调服务zookeeper中,客户端监控定时查询模块用于从接入机获取接入机集群的节点列表元数据;

19、接入机节点连接池更新模块还用于筛选节点nodes,并将筛选后的nodes更新至可用节点列表ablenodes。

20、进一步地,所述接入机节点连接池更新模块还用于根据配置初始化并开启监控进程。

21、进一步地,所述接入机节点连接池更新模块还用于维护多个重要全局数据结构,全局数据结构包括:节点nodes、nodeszk、可用节点列表ablenodes以及可用节点连接池nodepoolmap。

22、进一步地,系统还包括接入机命令解析模块,监控进程包括通过客户端监控定时查询模块向接入机发送命令请求,接入机命令解析模块用于提取命令请求以获取保存于nodezookeeper中的接入机集群节点列表,将接入机集群节点列表保存于nodeszk中;

23、接入机命令解析模块还用于执行命令请求,通过客户端监控定时查询模块将接入机集群节点列表发送至接入机节点连接池更新模块,接入机节点连接池更新模块用于将nodeszk中的接入机集群节点列表同步至nodes中,监控进程还包括接入机节点连接池更新模块对nodes遍历校验。

24、进一步地,接入机节点连接池更新模块具体用于,筛选nodes包括对nodes遍历校验,判断nodes中节点的失效标志,其中,未失效节点存放于临时节点列表tempablenodes;

25、接入机节点连接池更新模块还用于将tempablenodes中的节点加入至ablenodes,节点的nodepool加入至nodepoolmap。

26、进一步地,接入机节点连接池更新模块还用于从ablenodes筛选出待移除节点列表removenode,将removenode中的节点从nodepoolmap中移除。

27、在本申请实施例中,提供了一种实现感知redis接入机动态扩缩容的方法,首先对nclient初始化,在初始化阶段对目标用户的本地配置文件进行读取,完成连接池初始化配置;在接入机接收并完成扩缩容操作后,将完成扩缩容操作的接入机集群的节点列表元数据同步更新至nodezookeeper中,并对nodes进行筛选,将筛选后的nodes更新至可用节点列表;通过本申请中的实现感知redis接入机动态扩缩容的方法,可以使得业务场景中应用侧无需重启便能通过客户端自动感知并获取动态扩缩容后的接入机连接池,避免应用重启带来的业务稳定性问题。此外,连接池的动态更新,能提高连接的有效性,从而减少由于应用获取坏点的无效连接导致的请求阻塞问题。



技术特征:

1.一种实现感知redis接入机动态扩缩容的方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述s101还包括:

3.根据权利要求2所述的方法,其特征在于,

4.根据权利要求3所述的方法,其特征在于,所述s102具体包括:

5.根据权利要求4所述的方法,其特征在于,所述s103具体包括:

6.一种实现感知redis接入机动态扩缩容的系统,其特征在于,包括:

7.根据权利要求6所述的系统,其特征在于:

8.根据权利要求6所述的系统,其特征在于:

9.根据权利要求8所述的系统,其特征在于,

10.根据权利要求9所述的系统,其特征在于,


技术总结
本申请公开了一种实现感知redis接入机动态扩缩容的方法及系统,属于互联网技术领域,感知方法包括:初始化客户端Nclient,在Nclient初始化阶段,读取目标用户本地配置文件,完成连接池初始化配置;接入机接收并完成扩缩容操作,完成扩缩容操作的接入机集群的节点列表元数据同步更新至分布式协调服务nodezookeeper中;筛选节点nodes,并将筛选后的所述nodes更新至可用节点列表。通过本申请的方法,可以使得业务场景中应用侧无需重启便能通过客户端自动感知并获取动态扩缩容后的接入机连接池,避免应用重启带来的业务稳定性问题。此外,连接池的动态更新,能够提高连接的有效性,从而减少由于应用获取坏点的无效连接导致的请求阻塞问题。

技术研发人员:胡凯
受保护的技术使用者:天翼云科技有限公司
技术研发日:
技术公布日:2024/1/13
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1