CN112491995A - 一种高可用Redis服务架构及方法 - Google Patents

一种高可用Redis服务架构及方法 Download PDF

Info

Publication number
CN112491995A
CN112491995A CN202011290895.9A CN202011290895A CN112491995A CN 112491995 A CN112491995 A CN 112491995A CN 202011290895 A CN202011290895 A CN 202011290895A CN 112491995 A CN112491995 A CN 112491995A
Authority
CN
China
Prior art keywords
node
container group
slave
node container
nodes
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
Application number
CN202011290895.9A
Other languages
English (en)
Inventor
刘金伟
许晓笛
刘津
张哲铭
赵山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Cloud Information Technology Co Ltd
Original Assignee
Inspur Cloud Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur Cloud Information Technology Co Ltd filed Critical Inspur Cloud Information Technology Co Ltd
Priority to CN202011290895.9A priority Critical patent/CN112491995A/zh
Publication of CN112491995A publication Critical patent/CN112491995A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种高可用Redis服务架构及方法,属于云计算技术领域。本发明的高可用Redis服务架构包括访问节点和若干虚机,其中一台虚机上部署主节点容器组,主节点容器组包括一个主节点和若干从节点,一台虚机上部署备用节点容器组和监测器,监测器与主节点容器组、从节点容器组分别通信,备用节点容器组包括若干备用节点,其余虚机上部署从节点容器组,从节点容器组上部署若干从节点,访问节点与若干虚机分别通信。该发明的高可用Redis服务架构部署简单,轻量级且方便移动部署,高可用性强,提供服务的同时,也可以提供充裕时间修复损坏,具有很好的推广应用价值。

Description

一种高可用Redis服务架构及方法
技术领域
本发明涉及云计算技术领域,具体提供一种高可用Redis服务架构及方法。
背景技术
随着云数据库技术的逐步兴起与大规模使用,特别是非关系型数据库的飞速发展,在生产环境中用到了很多非关系型数据库,其中占有一席之地的非Redis数据库莫属了,无论是单机版Redis还是主从版Redis,在生产环境中,都是很常见到的。在Redis数据库中,拥有绝对的稳定性是很关键的,不论是运用在消息系统中还是社交网络中,服务宕机导致的后果是致命的,且损失都是以秒为单位,带来的损失不可估量。所以针对上述情况,高可用版本Redis是极为有效的解决方案,高可用版架构设计成为开发者们视为较重要的环节。因而高可用Redis服务数据库的架构设计,会决定着Redis系统的稳定性。Redis高可用架构设计繁多,架构模式也直接导致Redis服务的性能,作为内存数据库,最为关键的特点就是读写快,所以高可用架构设计对于Redis数据库的性能起到决定性作用。然而官方的方案:Redis主从版本或多或少有一定的局限性,在高速读写且高并发的压力下,难免会发生主节点挂掉从节点转正,但是从节点继续挂掉的情况,也就意味着Redis服务挂掉了,这在生产环境中是万万不可发生的,如何解决这些问题成为了一个难题,用户也会优先选择稳定性更强的Redis数据库。
已知Redis官方提供的高可用架构有主从架构与集群架构,如图1所示,但是当主节点挂掉后,仅剩一个节点提供服务,再次挂掉则会导致功能不可用,造成严重后果。此外还存在部署困难,需要手动安装Redis服务,高可用性较弱,如果一个节点挂后,从节点转正后只剩下一个节点,再次挂掉后导致Redis服务不可用。
发明内容
本发明的技术任务是针对上述存在的问题,提供一种部署简单,轻量级且方便移动部署,高可用性强,提供服务的同时,也可以提供充裕时间修复损坏的Redis服务的高可用Redis服务架构。
本发明进一步的技术任务是提供一种高可用Redis服务方法。
为实现上述目的,本发明提供了如下技术方案:
一种高可用Redis服务架构,包括访问节点和若干虚机,其中一台虚机上部署主节点容器组,主节点容器组包括一个主节点和若干从节点,一台虚机上部署备用节点容器组和监测器,监测器与主节点容器组、从节点容器组分别通信,备用节点容器组包括若干备用节点,其余虚机上部署从节点容器组,从节点容器组上部署若干从节点,访问节点与若干虚机分别通信。
所述高可用Redis服务架构工作过程中,在虚机上分别启动主节点容器组、从节点容器组和备用节点容器组,将访问节点安装在用户本地,用户请求访问节点,访问节点请求主节点容器组上的主节点进行读写,同时在主节点容器组上的从节点和从节点容器组上的从节点进行同步。
作为优选,所述虚机个数为三个,主节点容器组上部署一个主节点和两个从节点,从节点容器组上部署三个从节点,备用节点容器组上部署三个备用节点。
作为优选,所述主节点容器组上的主节点与从节点的数据同步。
作为优选,所述从节点容器组上的从节点间的数据同步。
一种高可用Redis服务方法,该方法通过本发明所述的高可用Redis服务架构来实现,在三台虚机上分别启动主节点容器组、从节点容器组和备用节点容器组,将访问节点安装在用户本地,用户请求访问节点,访问节点请求主节点容器组上的主节点进行读写,同时在主节点容器组上的从节点和从节点容器组上的从节点进行同步。
作为优选,主节点容器组上部署一个主节点和两个从节点,从节点容器组上部署三个从节点,备用节点容器组上部署三个备用节点,当主节点容器组上的主节点挂掉后,主节点容器组的从节点、从节点容器组的从节点中的任意一个从节点作为主节点,变为一主节点四从节点集群,当挂掉到一主节点两从节点时,监测器触发绑定备用节点作为从节点加入到集群中。扩展增加三个从节点,保证高可用性,同时通知用户Redis服务不健康。
作为优选,所述主节点容器组上的主节点与从节点的数据同步。
作为优选,所述从节点容器组上的从节点间的数据同步。
该高可用Redis服务方法仅需要三台虚机,三台虚机上分别启动主节点容器组、从节点容器组和备用节点容器组,访问节点安装在用户本地,用户请求访问节点,访问及诶单会请求主节点进行读写,五个从节点分别进行同步数据,相比较于传统Redis集群,在容器中把自动备份的备份文件映射到启动容器的虚机上三合一,更节省空间也更保证数据一致性,当主节点挂掉后,假设另一台虚机上从节点转为主节点。当一主节点挂掉后,变为一主四从集群,当挂掉到一主节点二从节点时,监测器触发绑定从节点,将备用节点容器组中的三个备用节点加入到Redis集群中,扩展增加三个从节点,保证高可用性。
与现有技术相比,本发明的高可用Redis服务方法具有以下突出的有益效果:所述高可用Redis服务方法部署简单,轻量级且方便移动部署,高可用性强,一主节点五从节点三备用节点保证了高可用性,提供服务同时,也提供了充裕时间来修复损坏的Redis服务,具有良好的推广应用价值。
附图说明
图1是现有技术中的Redis服务架构;
图2是本发明所述高可用Redis服务架构图;
图3是本发明所述高可用Redis服务方法的主节点挂掉后示意图;
图4是本发明所述高可用Redis服务方法的三个备用节点连接到集群的示意图。
具体实施方式
下面将结合附图和实施例,对本发明的高可用Redis服务架构及方法作进一步详细说明。
实施例
如图2所示,本发明的高可用Redis服务架构包括访问节点和三个虚机。
其中虚机1上部署主节点容器组,主节点容器组包括一个主节点和两个从节点。主节点和从节点的数据同步。
虚机2上部署从节点容器组,从节点容器组包括三个从节点,三个从节点间数据同步。
虚机3上部署备用节点容器组和监测器,监测器与主节点容器组、从节点容器组分别通信。备用节点容器组包括三个备用节点。
访问节点与虚机1、虚机2、虚机3分别通信。
该高可用Redis服务架构工作过程中,在虚机上分别启动主节点容器组、从节点容器组和备用节点容器组,将访问节点安装在用户本地,用户请求访问节点,访问节点请求主节点容器组上的主节点进行读写,同时在主节点容器组上的从节点和从节点容器组上的从节点进行同步。
该发明的高可用Redis服务方法,通过本发明的高可用Redis服务架构来实现。在虚机1、虚机2、虚机3上分别启动主节点容器组、从节点容器组和备用节点容器组。将访问节点安装在用户本地,用户请求访问节点,访问节点请求主节点容器组上的主节点进行读写,同时在主节点容器组上的从节点和从节点容器组上的从节点进行同步。
其中主节点容器组上部署一个主节点和两个从节点,从节点容器组上部署三个从节点,备用节点容器组上部署三个备用节点。如图3所示,当主节点容器组上的主节点挂掉后,从节点容器组的一个从节点中作为主节点,变为一主节点四从节点集群。如图4所示,当挂掉到一主节点两从节点时,监测器触发绑定备用节点作为从节点加入到集群中。扩展增加三个从节点,保证高可用性,同时通知用户Redis服务不健康。
其中主节点容器组上的主节点与从节点的数据同步。从节点容器组上的从节点间的数据同步。
该高可用Redis服务方法仅需要三台虚机,三台虚机上分别启动主节点容器组、从节点容器组和备用节点容器组,访问节点安装在用户本地,用户请求访问节点,访问及诶单会请求主节点进行读写,五个从节点分别进行同步数据,相比较于传统Redis集群,在容器中把自动备份的备份文件映射到启动容器的虚机上三合一,更节省空间也更保证数据一致性,当主节点挂掉后,假设另一台虚机上从节点转为主节点。当一主节点挂掉后,变为一主四从集群,当挂掉到一主节点二从节点时,监测器触发绑定从节点,将备用节点容器组中的三个备用节点加入到Redis集群中,扩展增加三个从节点,保证高可用性。
以上所述的实施例,只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

Claims (8)

1.一种高可用Redis服务架构,其特征在于:包括访问节点和若干虚机,其中一台虚机上部署主节点容器组,主节点容器组包括一个主节点和若干从节点,一台虚机上部署备用节点容器组和监测器,监测器与主节点容器组、从节点容器组分别通信,备用节点容器组包括若干备用节点,其余虚机上部署从节点容器组,从节点容器组上部署若干从节点,访问节点与若干虚机分别通信。
2.根据权利要求1所述的高可用Redis服务架构,其特征在于:所述虚机个数为三个,主节点容器组上部署一个主节点和两个从节点,从节点容器组上部署三个从节点,备用节点容器组上部署三个备用节点。
3.根据权利要求2所述的高可用Redis服务架构,其特征在于:所述主节点容器组上的主节点与从节点的数据同步。
4.根据权利要求3所述的高可用Redis服务架构,其特征在于:所述从节点容器组上的从节点间的数据同步。
5.一种高可用Redis服务方法,其特征在于:该方法通过权利要求1-4任意一项所述的高可用Redis服务架构来实现,在三台虚机上分别启动主节点容器组、从节点容器组和备用节点容器组,将访问节点安装在用户本地,用户请求访问节点,访问节点请求主节点容器组上的主节点进行读写,同时在主节点容器组上的从节点和从节点容器组上的从节点进行同步。
6.根据权利要求5所述的高可用Redis服务方法,其特征在于:主节点容器组上部署一个主节点和两个从节点,从节点容器组上部署三个从节点,备用节点容器组上部署三个备用节点,当主节点容器组上的主节点挂掉后,主节点容器组的从节点、从节点容器组的从节点中的任意一个从节点作为主节点,变为一主节点四从节点集群,当挂掉到一主节点两从节点时,监测器触发绑定备用节点作为从节点加入到集群中。
7.根据权利要求6所述的高可用Redis服务方法,其特征在于:所述主节点容器组上的主节点与从节点的数据同步。
8.根据权利要求7所述的高可用Redis服务方法,其特征在于:所述从节点容器组上的从节点间的数据同步。
CN202011290895.9A 2020-11-18 2020-11-18 一种高可用Redis服务架构及方法 Pending CN112491995A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011290895.9A CN112491995A (zh) 2020-11-18 2020-11-18 一种高可用Redis服务架构及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011290895.9A CN112491995A (zh) 2020-11-18 2020-11-18 一种高可用Redis服务架构及方法

Publications (1)

Publication Number Publication Date
CN112491995A true CN112491995A (zh) 2021-03-12

Family

ID=74931512

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011290895.9A Pending CN112491995A (zh) 2020-11-18 2020-11-18 一种高可用Redis服务架构及方法

Country Status (1)

Country Link
CN (1) CN112491995A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105933391A (zh) * 2016-04-11 2016-09-07 青岛海信传媒网络技术有限公司 一种节点扩容方法、装置及系统
CN106850260A (zh) * 2016-12-23 2017-06-13 曙光云计算技术有限公司 一种虚拟化资源管理平台的部署方法和装置
CN108964948A (zh) * 2017-05-19 2018-12-07 北京金山云网络技术有限公司 主从服务系统、主节点故障恢复方法及装置
CN109474465A (zh) * 2018-11-13 2019-03-15 上海英方软件股份有限公司 一种基于服务器集群的可动态流转的高可用性的实现方法和系统
CN111651275A (zh) * 2020-06-04 2020-09-11 山东汇贸电子口岸有限公司 一种MySQL集群自动化部署系统及方法
CN111880934A (zh) * 2020-07-29 2020-11-03 北京浪潮数据技术有限公司 一种资源管理方法、装置、设备及可读存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105933391A (zh) * 2016-04-11 2016-09-07 青岛海信传媒网络技术有限公司 一种节点扩容方法、装置及系统
CN106850260A (zh) * 2016-12-23 2017-06-13 曙光云计算技术有限公司 一种虚拟化资源管理平台的部署方法和装置
CN108964948A (zh) * 2017-05-19 2018-12-07 北京金山云网络技术有限公司 主从服务系统、主节点故障恢复方法及装置
CN109474465A (zh) * 2018-11-13 2019-03-15 上海英方软件股份有限公司 一种基于服务器集群的可动态流转的高可用性的实现方法和系统
CN111651275A (zh) * 2020-06-04 2020-09-11 山东汇贸电子口岸有限公司 一种MySQL集群自动化部署系统及方法
CN111880934A (zh) * 2020-07-29 2020-11-03 北京浪潮数据技术有限公司 一种资源管理方法、装置、设备及可读存储介质

Similar Documents

Publication Publication Date Title
CN110784350B (zh) 一种实时高可用集群管理系统的设计方法
CN102194009B (zh) 一种数据库托管方法和一种数据库托管平台系统
CN109656911A (zh) 分布式并行处理数据库系统及其数据处理方法
CN104965850A (zh) 一种基于开源技术的数据库高可用实现方法
CN103218402B (zh) 通用的数据库数据结构与数据迁移系统及其方法
CN108121782A (zh) 查询请求的分配方法、数据库中间件系统以及电子设备
CN103744906A (zh) 一种数据同步系统、方法及装置
CN105975579B (zh) 一种内存数据库的主备复制方法及内存数据库系统
CN102033889A (zh) 分布式数据库并行处理系统
CN105843702A (zh) 一种用于数据备份的方法以及装置
CN104346373A (zh) 分区日志队列同步管理方法及设备
CN102508881B (zh) 一种电力信息系统内存数据库的多节点集群系统
CN108228725B (zh) 基于分布式数据库的gis应用系统
CN102722579A (zh) 一种在集群存储系统内部数据库的双向同步方法
CN109361777A (zh) 分布式集群节点状态的同步方法、同步系统及相关装置
CN106951456B (zh) 一种内存数据库系统及数据处理系统
CN108536833A (zh) 一种分布式、面向大数据的数据库及其构建方法
CN109753245B (zh) 一种多磁盘负载均衡异步读写调度方法及装置
CN113297173B (zh) 分布式数据库集群管理方法及装置、电子设备
CN113297159B (zh) 数据存储方法以及装置
CN113157701A (zh) 一种oracle数据库的双活机制部署方法及装置
CN101252464A (zh) 双机系统和双机在线升级的方法
CN112491995A (zh) 一种高可用Redis服务架构及方法
Truica et al. Asynchronous Replication in Microsoft SQL Server, PostgreSQL and MySQL
CN115587141A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20210312

RJ01 Rejection of invention patent application after publication