一种Redis高可用、高扩展性的安装方法及装置制造方法及图纸

技术编号:38022646 阅读:15 留言:0更新日期:2023-06-30 10:49
本发明专利技术涉及数据处理技术领域,具体涉及一种Redis高可用、高扩展性的安装方法及装置,该方法包括在物理机A和物理机B中安装Redis实例服务,在物理机A和物理机B中创建check_Redis.sh脚本监控以及Redis_master.sh和Redis_backup.sh脚本,登录物理机A和物理机B中执行keepalived.conf文件重启keepalived实例服务,业务应用通过访问keepalived虚拟IP转发到后端Redis真实IP实现服务访问,通过复制keepalived.conf文件调整请求访问权重值到目标操作系统。只需两台物理机实现Redis分布式高可用性架构、在运维方面简化了部署复杂度,在并发量提高的情况下可支持动态水平扩展。在并发量提高的情况下可支持动态水平扩展。在并发量提高的情况下可支持动态水平扩展。

【技术实现步骤摘要】
一种Redis高可用、高扩展性的安装方法及装置


[0001]本专利技术涉及数据处理
,具体而言,涉及一种Redis高可用、高扩展性的安装方法及装置。

技术介绍

[0002]Redis(Remote Dictionary Server),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key

Value数据库,并提供多种语言的API。Redis不同高可用集群架构是保障应用装置稳定性和用户体验有效技术手段,但是不同架构也会相应提高建设成本和运维成本。目前主流Redis的集群方案大致有三种:1)Redis cluster集群方案;2)master/slave主从方案;3)哨兵方案。
[0003]哨兵模式是Redis的高可用方式,哨兵节点是特殊的Redis服务,不提供读写服务,主要用来监控Redis实例节点。哨兵架构下client端第一次从哨兵找出Redis的主节点,后续就直接访问Redis的主节点,不会每次都通过sentinel代理访问Redis的主节点,当Redis的主节点挂掉时,哨兵会第一时间感知到,并且在slave节点中重新选出来一个新的master,然后将新的master信息通知给client端,从而实现高可用。
[0004]然而,Redis哨兵模式中至少需要三台以上的奇数Redis实例(一主二从)和对等个数的sentinel实例进程来保证集群内的健壮性,如果哨兵sentinel实例进程故障两个或以上就无法选举保证高可用性。r/>[0005]在可扩展性方面,如生产中需要增加资源则需要增加sentinel和Redis实例服务数,并且要停止现有集群服务重新构建可高用关系启动sentinel集群服务提供访问,这会影响业务应用的生产作业。
[0006]在连接方式上,业务应用需要连接所有sentinel集群进程服务获取Redis主从实例进行读写功能。

技术实现思路

[0007]有鉴于此,本申请实施例的目的是提供一种基于Redis和keepalived以及自定义监控脚本程序实现了不同物理机Redis实例之间的故障转移、负载均衡、数据同步的高可用、高扩展性的安装方法及装置。
[0008]为实现上述目的,本专利技术提供了以下技术方案:根据本专利技术的第一方面,提供了一种Redis高可用、高扩展性的安装方法,包括以下步骤:构建Redis的目标文件以及Dockerfile文件,利用Redis的目标文件信息创建Redis基础镜像;构建Docker

Compose.yml文件,配置拉取镜像文件和容器初始化信息复制到物理机A和物理机B中;在物理机A和物理机B中安装应用容器引擎服务、多容器管理服务以及容器检测服
务并安装Redis实例服务;在物理机A和物理机B中创建check_Redis.sh脚本监控以及Redis_master.sh和Redis_backup.sh脚本,登录物理机A和物理机B中执行keepalived.conf文件重启keepalived实例服务;业务应用通过访问keepalived虚拟IP转发到后端Redis真实IP实现服务访问,通过复制keepalived.conf文件调整请求访问权重值到目标操作系统。
[0009]作为本专利技术的进一步方案,所述应用容器引擎服务、多容器管理服务以及容器检测服务分别为Docker、DockerCompose、Keepalived服务,通过执行Docker

Compose.yml文件安装Redis实例服务。
[0010]作为本专利技术的进一步方案,在物理机A和物理机B中创建check_Redis.sh脚本监控之前,还包括:在物理机A和物理机B中创建keepalived.conf文件配置虚拟IP、集群心跳检测时间、主备节点标识和故障转移切换权重值、身份验证、脚本监控执行、故障预警通知、notify_master和notify_backup脚本的执行信息。
[0011]作为本专利技术的进一步方案,在物理机A和物理机B中创建check_Redis.sh脚本监控用于keepalived调用监控Redis节点状态信息,check_Redis.sh脚本监控的参数为本机Redis实例IP值及登录密码。
[0012]作为本专利技术的进一步方案,物理机A和物理机B调用监控Redis节点状态信息时,包括:基于shell命令对文件入参获取Redis实例IP值和登录密码,通过获得的Redis实例IP值和登录密码远程连接Redis实例获取实例状态信息,对获取的Redis节点状态信息处理,无返回状态信息时,关闭当前Redis实例对应的keepalived服务进行故障转移。
[0013]作为本专利技术的进一步方案,在物理机A和物理机B中创建Redis_master.sh和Redis_backup.sh脚本,用于keepalived节点状态改变执行notify_master和notify_backup对应的脚本文件。
[0014]作为本专利技术的进一步方案,当keepalived节点为主节点时触发执行Redis_master.sh脚本,设置对应的Redis实例为主节点提供服务,并触发执行Redis_backup.sh脚本,设置当前对应的Redis实例以外节点为备节点,数据同步主节点关系。
[0015]作为本专利技术的进一步方案,所述业务应用与所述物理机A、物理机B之间通过keepalived虚拟IP和虚拟路由协议转发请求访问后端真实Redis实例服务。
[0016]作为本专利技术的进一步方案,所述业务应用通过连接一个虚拟IP访问后端不同真实Redis实例服务。
[0017]作为本专利技术的进一步方案,所述Redis高可用、高扩展性的安装方法,基于keepalived集群主备节点状态改变执行监控脚本,监控脚本通过Shell命令设置keepalived对应Redis实例的主备角色以及设置数据同步策略进行数据同步。
[0018]作为本专利技术的进一步方案,所述Redis高可用、高扩展性的安装方法,还通过关闭异常Redis实例对应keepalived进程实现故障自动转移、负载均衡高可用性。
[0019]根据本专利技术的第二方面,提供了一种Redis高可用、高扩展性的装置,包括业务应用、物理机A和物理机B,所述业务应用与所述物理机A和物理机B之间通过一个虚拟IP访问,其中,在物理机A和物理机B中安装Redis实例服务;在物理机A和物理机B中创建check_
Redis.sh脚本监控以及Redis_master.sh和Redis_backup.sh脚本,登录物理机A和物理机B中执行keepalived.conf文件重启keepalived实例服务;业务应用用于通过访问keepalived虚拟IP转发到后端Redis真实IP实现服务访问,通过复制keepalived.conf文件调整请求访问权重值到目标操作系统,进行不同物理机Redis实例之间故障转移、负载本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种Redis高可用、高扩展性的安装方法,其特征在于,包括以下步骤:构建Redis的目标文件以及Dockerfile文件,利用Redis的目标文件信息创建Redis基础镜像;构建Docker

Compose.yml文件,配置拉取镜像文件和容器初始化信息复制到物理机A和物理机B中;在物理机A和物理机B中安装应用容器引擎服务、多容器管理服务以及容器检测服务并安装Redis实例服务;在物理机A和物理机B中创建check_Redis.sh脚本监控以及Redis_master.sh和Redis_backup.sh脚本,登录物理机A和物理机B中执行keepalived.conf文件重启keepalived实例服务;业务应用通过访问keepalived虚拟IP转发到后端Redis真实IP实现服务访问,通过复制keepalived.conf文件调整请求访问权重值到目标操作系统。2.根据权利要求1所述的安装方法,其特征在于,所述应用容器引擎服务、多容器管理服务以及容器检测服务分别为Docker、DockerCompose、Keepalived服务,通过执行Docker

Compose.yml文件安装Redis实例服务。3.根据权利要求1所述的Redis安装方法,其特征在于,在物理机A和物理机B中创建check_Redis.sh脚本监控之前,还包括:在物理机A和物理机B中创建keepalived.conf文件配置虚拟IP、集群心跳检测时间、主备节点标识和故障转移切换权重值、身份验证、脚本监控执行、故障预警通知、notify_master和notify_backup脚本的执行信息。4.根据权利要求3所述的安装方法,其特征在于,在物理机A和物理机B中创建check_Redis.sh脚本监控用于keepalived调用监控Redis节点状态信息,check_Redis.sh脚本监控的参数为本机Redis实例IP值及登录密码。5.根据权利要求4所述的安装方法,其特征在于,物理机A和物理机B调用监控Redis节点状态信息时,包括:基于shell命令对文件入参获取Redis实例IP值和登录密码,...

【专利技术属性】
技术研发人员:余新文严鹤王俊胡琦
申请(专利权)人:云启智慧科技有限公司
类型:发明
国别省市:

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

1