本发明涉及云计算技术领域,具体提供一种高可用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集群中,扩展增加三个从节点,保证高可用性。
以上所述的实施例,只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
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服务方法,其特征在于:所述从节点容器组上的从节点间的数据同步。
技术总结