CN115002116A - 一种云平台上分布式redis集群与可靠性检测的方法 - Google Patents
一种云平台上分布式redis集群与可靠性检测的方法 Download PDFInfo
- Publication number
- CN115002116A CN115002116A CN202210599977.4A CN202210599977A CN115002116A CN 115002116 A CN115002116 A CN 115002116A CN 202210599977 A CN202210599977 A CN 202210599977A CN 115002116 A CN115002116 A CN 115002116A
- Authority
- CN
- China
- Prior art keywords
- node
- redis
- processor
- master node
- cloud platform
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1051—Group master selection mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明提供了一种云平台上分布式redis集群与可靠性检测的方法,包括以下步骤:S1、在分布式网络中,部署多台redis服务器,所述多台redis服务器的身份为从节点;S2、判断步骤S1中的各从节点开始检测主节点地址是否存在,如果存在则继续检测,否则执行步骤S3;S3、将redis服务器的身份为从从节点变更为候选节点,并针对不少于一个的候选节点进行选举,开始投票,选举生成主节点;S4、将步骤S3中被选举生成的主节点的地址同步到所有其他候选节点;S5、候选节点接收到步骤S4中主节点发出的地址后,将自己变更为从节点。本发明有益效果:克服了现有的在网络情况极端不稳定的情况下,会经历多次选举,让集群的性能整体发生下降的情况。
Description
技术领域
本发明属于redis云数据库领域,尤其是涉及一种云平台上分布式redis集群与可靠性检测的方法。
背景技术
Redis集群由多台Redis服务器构成,采用分布式架构,每台服务器自行维护一个状态机,在全时状态下存在至多一个主节点,由主节点对外提供读写服务,再将数据同步到其他节点,主节点的身份随着故障的发生随时转移到其他从节点,提供整个集群的可靠性。
集群中的节点角色分为三种状态,主节点,从节点,候选节点;在集群初始化时,所有节点均为从节点,所有从节点均与主节点以心跳方式连接,当发现超时情况,从节点将改变自己的身份为候选节点,并发起主节点选举,当超过半数后当选为主节点继续提供服务。
上述方式存在以下缺点在网络情况极端不稳定的情况下,会经历多次选举,让集群的性能整体发生下降。
发明内容
有鉴于此,本发明旨在提出一种云平台上分布式redis集群与可靠性检测的方法,以至少解决背景技术中的至少一个技术问题。
为达到上述目的,本发明的技术方案是这样实现的:
第一方面本方案公开了一种云平台上分布式redis集群与可靠性检测的方法,包括以下步骤:
S1、在分布式网络中,部署多台redis服务器,所述多台redis服务器的身份为从节点;
S2、判断步骤S1中的各从节点开始检测主节点地址是否存在,如果存在则继续检测,否则执行步骤S3;
S3、将redis服务器的身份为从从节点变更为候选节点,并针对不少于一个的候选节点进行选举,开始投票,选举生成主节点;
S4、将步骤S3中被选举生成的主节点的地址同步到所有其他候选节点;
S5、候选节点接收到步骤S4中主节点发出的地址后,将自己变更为从节点。
进一步的,在步骤S2中,判断步骤S1中的各从节点开始检测主节点地址是否存在的标准为:从节点是否长时间没有接收到主节点信息,如果是则认定为主节点地址不存在。
进一步的,在步骤S1中,多个从节点与主节点以心跳方式连接。
进一步的,在步骤S3中,根据投票结果,将半数及以上通过的候选节点变更为主节点。
进一步的,在步骤S3,当前任主节点发现有更新任期的主节点,判断自己是否曾经出现了故障情况,如果是则自助遇化为从节点。
第二方面本方案公开了一种电子设备,包括处理器以及与处理器通信连接,且用于存储所述处理器可执行指令的存储器,所述处理器用于执行第一方面所述的一种云平台上分布式redis集群与可靠性检测的方法。
第三方面本方案公开了一种服务器,包括至少一个处理器,以及与所述处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,以使所述至少一个处理器执行第一方面所述的一种云平台上分布式redis集群与可靠性检测的方法。
第四方面本方案公开了一种计算机可读取存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的一种云平台上分布式redis集群与可靠性检测的方法。
相对于现有技术,本发明所述的一种云平台上分布式redis集群与可靠性检测的方法具有以下有益效果:
本发明所述的一种云平台上分布式redis集群与可靠性检测的方法,克服了现有的在网络情况极端不稳定的情况下,会经历多次选举,让集群的性能整体发生下降的情况。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例所述的一种云平台上分布式redis集群与可靠性检测的方法的总体架构示意图;
图2为本发明实施例所述的可靠性检测流程示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面将参考附图并结合实施例来详细说明本发明。
本专利提供一种分布式redis集群组成与可靠性检测的方法。具体的方案流程如下:
1、部署多台redis服务器以从节点身份到整个分布式网络中;
2、各从节点开始检测主节点地址是否存在;
3、从节点将身份变更为候选节点,并发起选举,开始投票;
4、候选节点半数通过变更为主节点;
5、主节点的地址同步到所有其他候选节点;
6、候选节点接收到主节点地址后,将自己变为从节点;
在实施过程中,步骤如下:1、准备一台以上的服务器,推荐为奇数数量;2、为所有服务器部署redis与状态机服务;3、初始化服务器中的状态机为从节点并启动;4、访问任意一台服务器的状态服务器等待主节点选举完成;5、得到主节点服务地址,并持续监测集群中主节点的变化情况;就使用整个redis分布式集群和可靠性检测机制就构建完成了。
在具体实施过程中,完整的实施过程如下:
一种云平台上分布式redis集群与可靠性检测的方法,包括以下步骤:
S1、在分布式网络中,部署多台redis服务器,所述多台redis服务器的身份为从节点;
S2、判断步骤S1中的各从节点开始检测主节点地址是否存在,如果存在则继续检测,否则执行步骤S3;
S3、将redis服务器的身份为从从节点变更为候选节点,并针对不少于一个的候选节点进行选举,开始投票,选举生成主节点;
S4、将步骤S3中被选举生成的主节点的地址同步到所有其他候选节点;
S5、候选节点接收到步骤S4中主节点发出的地址后,将自己变更为从节点。
在步骤S2中,判断步骤S1中的各从节点开始检测主节点地址是否存在的标准为:从节点是否长时间没有接收到主节点信息,如果是则认定为主节点地址不存在。
在步骤S1中,多个从节点与主节点以心跳方式连接。
在步骤S3中,根据投票结果,将半数及以上通过的候选节点变更为主节点。
在步骤S3,当前任主节点发现有更新任期的主节点,判断自己是否曾经出现了故障情况,如果是则自助遇化为从节点。
一种电子设备,包括处理器以及与处理器通信连接,且用于存储所述处理器可执行指令的存储器,所述处理器用于执行一种云平台上分布式redis集群与可靠性检测的方法。
一种服务器,包括至少一个处理器,以及与所述处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,以使所述至少一个处理器执行一种云平台上分布式redis集群与可靠性检测的方法。
第四方面本方案公开了一种计算机可读取存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的一种云平台上分布式redis集群与可靠性检测的方法。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和系统,可以通过其它的方式实现。例如,以上所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。上述单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种云平台上分布式redis集群与可靠性检测的方法,其特征在于,包括以下步骤:
S1、在分布式网络中,部署多台redis服务器,所述多台redis服务器的身份为从节点;
S2、判断步骤S1中的各从节点开始检测主节点地址是否存在,如果存在则继续检测,否则执行步骤S3;
S3、将redis服务器的身份为从从节点变更为候选节点,并针对不少于一个的候选节点进行选举,开始投票,选举生成主节点;
S4、将步骤S3中被选举生成的主节点的地址同步到所有其他候选节点;
S5、候选节点接收到步骤S4中主节点发出的地址后,将自己变更为从节点。
2.根据权利要求1所述的一种云平台上分布式redis集群与可靠性检测的方法,其特征在于:在步骤S2中,判断步骤S1中的各从节点开始检测主节点地址是否存在的标准为:从节点是否长时间没有接收到主节点信息,如果是则认定为主节点地址不存在。
3.根据权利要求1所述的一种云平台上分布式redis集群与可靠性检测的方法,其特征在于:在步骤S1中,多个从节点与主节点以心跳方式连接。
4.根据权利要求1所述的一种云平台上分布式redis集群与可靠性检测的方法,其特征在于:在步骤S3中,根据投票结果,将半数及以上通过的候选节点变更为主节点。
5.根据权利要求1所述的一种云平台上分布式redis集群与可靠性检测的方法,其特征在于:在步骤S3,当前任主节点发现有更新任期的主节点,判断自己是否曾经出现了故障情况,如果是则自助遇化为从节点。
6.一种电子设备,包括处理器以及与处理器通信连接,且用于存储所述处理器可执行指令的存储器,其特征在于:所述处理器用于执行上述权利要求1-5任一所述的一种云平台上分布式redis集群与可靠性检测的方法。
7.一种服务器,其特征在于:包括至少一个处理器,以及与所述处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,以使所述至少一个处理器执行如权利要求1-5任一所述的一种云平台上分布式redis集群与可靠性检测的方法。
8.一种计算机可读取存储介质,存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1-5任一项所述的一种云平台上分布式redis集群与可靠性检测的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210599977.4A CN115002116A (zh) | 2022-05-30 | 2022-05-30 | 一种云平台上分布式redis集群与可靠性检测的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210599977.4A CN115002116A (zh) | 2022-05-30 | 2022-05-30 | 一种云平台上分布式redis集群与可靠性检测的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115002116A true CN115002116A (zh) | 2022-09-02 |
Family
ID=83028767
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210599977.4A Pending CN115002116A (zh) | 2022-05-30 | 2022-05-30 | 一种云平台上分布式redis集群与可靠性检测的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115002116A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120179798A1 (en) * | 2011-01-11 | 2012-07-12 | Ibm Corporation | Autonomous primary node election within a virtual input/output server cluster |
CN104933132A (zh) * | 2015-06-12 | 2015-09-23 | 广州巨杉软件开发有限公司 | 基于操作序列号的分布式数据库有权重选举方法 |
CN106331098A (zh) * | 2016-08-23 | 2017-01-11 | 东方网力科技股份有限公司 | 一种服务器集群系统 |
CN112866035A (zh) * | 2021-02-24 | 2021-05-28 | 紫光云技术有限公司 | 一种云平台上redis服务可指定从节点切换为主节点的方法 |
CN113783921A (zh) * | 2021-01-27 | 2021-12-10 | 北京京东振世信息技术有限公司 | 创建缓存组件的方法和装置 |
CN114268532A (zh) * | 2021-11-24 | 2022-04-01 | 华人运通(上海)云计算科技有限公司 | 一种基于Raft协议的竞选方法、分布式系统及存储介质 |
-
2022
- 2022-05-30 CN CN202210599977.4A patent/CN115002116A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120179798A1 (en) * | 2011-01-11 | 2012-07-12 | Ibm Corporation | Autonomous primary node election within a virtual input/output server cluster |
CN104933132A (zh) * | 2015-06-12 | 2015-09-23 | 广州巨杉软件开发有限公司 | 基于操作序列号的分布式数据库有权重选举方法 |
CN106331098A (zh) * | 2016-08-23 | 2017-01-11 | 东方网力科技股份有限公司 | 一种服务器集群系统 |
CN113783921A (zh) * | 2021-01-27 | 2021-12-10 | 北京京东振世信息技术有限公司 | 创建缓存组件的方法和装置 |
CN112866035A (zh) * | 2021-02-24 | 2021-05-28 | 紫光云技术有限公司 | 一种云平台上redis服务可指定从节点切换为主节点的方法 |
CN114268532A (zh) * | 2021-11-24 | 2022-04-01 | 华人运通(上海)云计算科技有限公司 | 一种基于Raft协议的竞选方法、分布式系统及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10979286B2 (en) | Method, device and computer program product for managing distributed system | |
CN105468450B (zh) | 任务调度方法及系统 | |
US9984140B1 (en) | Lease based leader election system | |
US8055735B2 (en) | Method and system for forming a cluster of networked nodes | |
CN102402395B (zh) | 基于仲裁磁盘的高可用系统不间断运行方法 | |
CN109639794A (zh) | 一种有状态集群恢复方法、装置、设备及可读存储介质 | |
CN105426439A (zh) | 一种元数据的处理方法和装置 | |
CN107666493B (zh) | 一种数据库配置方法及其设备 | |
CN109815248B (zh) | 一种基于Zookeeper的分布式架构数据一致性方法 | |
CN110795503A (zh) | 分布式存储系统的多集群数据同步方法及相关装置 | |
US20190258646A1 (en) | Distributed transactions across multiple consensus groups | |
CN106484321A (zh) | 一种数据存储方法及数据中心 | |
CN105162879B (zh) | 实现多机房数据一致性的方法、装置及系统 | |
CN111147605B (zh) | 服务注册方法、装置和设备 | |
CN113646749A (zh) | Iot分区管理和负载平衡 | |
CN109739665A (zh) | 接口管理方法、装置、服务器及存储介质 | |
CN100570570C (zh) | 一种实现计算机死机智能分析的系统及方法 | |
CN113934547B (zh) | 一种集群环境下告警日志的记录方法、装置、设备及产品 | |
CN105323271B (zh) | 一种云计算系统以及云计算系统的处理方法和装置 | |
CN117493458A (zh) | 一种redis多从节点链式复制自动搭建的方法 | |
CN112632093A (zh) | 工单处理方法、设备、系统、存储介质及程序产品 | |
CN115002116A (zh) | 一种云平台上分布式redis集群与可靠性检测的方法 | |
CN107368355B (zh) | 虚拟机的动态调度方法和装置 | |
CN114205333B (zh) | Ip配置方法、集群构建方法、计算机设备及存储介质 | |
CN110502460B (zh) | 数据处理的方法和节点 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |