首页 > 数据库 >Redis两节点高可用设计方案​功能验证

Redis两节点高可用设计方案​功能验证

时间:2022-10-22 12:34:26浏览次数:47  
标签:MotoGP 查看 Redis redis keepalived 设计方案 172.25 节点

该文档主要是针对RedisGraph高可用方案设计的功能测试,来说明方案是可实施是可行的。具体方案设计看前面的高可用方案设计文章

  • 功能测试准备条件
  • master、slave 两台服务器
  • 172.25.0.3&主、172.25.0.4&从、172.168.1.250&VIP
  • Keepalived v2.0.7
  • 部署RedisGraph一主一从模式
  • 测试目标
  • 主节点宕机从节点接管
  • 主节点回复作为新的从节点
  • VIP在主从间切换
  • 服务器资源规划

Redis两节点高可用设计方案​功能验证_redis

主要分享低代码、微服务、容器化、SAAS‬、系统架构方面的的‬内容‬‬,希望‬大家‬点赞‬,评论,关注‬。

  1. 主从模式设置
#从库设置
slaveof 172.25.0.3 6379
  1. 执行查看主节点信息
redis-cli -h 127.0.0.1 info replication

Redis两节点高可用设计方案​功能验证_docker_02

  1. 查看从节点信息
docker exec 543df118730d redis-cli -h 127.0.0.1 info replication

Redis两节点高可用设计方案​功能验证_redis_03

  1. keepalived设置
global_defs {
router_id redis-master
}

vrrp_script chk_redis {
script "/usr/local/keepalived/scripts/redis_check_0.sh 172.25.0.3 6379" #监控脚本
interval 2 #监控时间
timeout 2 #超时时间
fall 3
}

vrrp_instance redis {
state BACKUP
interface ens192
lvs_sync_daemon_interface ens192
virtual_router_id 202
priority 150 #权重值
nopreempt #nopreempt:设置不抢占,这里只能设置在state为backup的节点上,而且这个节点的优先级必须比另外节点的高
advert_int 1

virtual_ipaddress {
172.168.1.250 #VIP地址
}

track_script {
chk_redis
}

notify_master "/usr/local/keepalived/scripts/redis_master_0.sh 172.25.0.3 172.25.0.4 6379 6380"
notify_backup "/usr/local/keepalived/scripts/redis_backup_0.sh 172.25.0.3 172.25.0.4 6379 6380"
notify_fault /usr/local/keepalived/scripts/redis_fault_0.sh
notify_stop /usr/local/keepalived/scripts/redis_stop_0.sh
}
  1. 查看VIP信息
ip addr

Redis两节点高可用设计方案​功能验证_redis_04

  1. 模拟RedisGraph主节点宕机
docker-compose stop redisgraph-master
  1. 查看主节点IP信息,可以看到vip已经转移

Redis两节点高可用设计方案​功能验证_ide_05

  1. 查看从节点IP信息,已经接管vip

Redis两节点高可用设计方案​功能验证_ide_06

  1. 恢复RedisGraph主节点
docker-compose start redisgraph-master
  1. 查看RedisGraph主节点主从信息

Redis两节点高可用设计方案​功能验证_docker_07

  1. 模拟RedisGraph从节点宕机
docker-compose stop redisgraph-slave-one
  1. 查看从节点IP信息,可以看到VIP已经释放

Redis两节点高可用设计方案​功能验证_docker_08

  1. 查看主节点IP信息,已经接管VIP

Redis两节点高可用设计方案​功能验证_redis_09

  1. 模拟主节点keepalived宕机
systemctl stop keepalived.service
  1. 查看主节点IP信息,VIP已经释放

Redis两节点高可用设计方案​功能验证_redis_10

  1. 查看从节点IP信息,已经接管VIP

Redis两节点高可用设计方案​功能验证_ide_11

  1. 功能测试
  • 添加
172.168.1.250:6379> GRAPH.QUERY MotoGP_0000001 "CREATE (:Rider {name:'Valentino Rossi'})-[:rides]->(:Team {name:'Yamaha'}), (:Rider {name:'Dani Pedrosa'})-[:rides]->(:Team {name:'Honda'}), (:Rider {name:'Andrea Dovizioso'})-[:rides]->(:Team {name:'Ducati'})"

Redis两节点高可用设计方案​功能验证_docker_12

  • 查询
172.168.1.250:6379> GRAPH.QUERY MotoGP "MATCH (r:Rider)-[:rides]->(t:Team {name:'Ducati'}) RETURN count(r)"

Redis两节点高可用设计方案​功能验证_ide_13

  • 数据同步
  • 查看主库数据
[root@bocloudv01 container]# docker exec -it 543df118730d redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> keys *
1) "MotoGP_0000007"
2) "MotoGP_0000002"
3) "MotoGP_0000003"
4) "MotoGP_0000008"
5) "MotoGP_0000005"
6) "MotoGP_0000004"
7) "MotoGP_0000001"
  • 查看从库数据库
[root@bocloudv01 container]# docker exec -it 2a89ff201ace redis-cli -h 127.0.0.1 -p 6380
127.0.0.1:6380> keys *
1) "MotoGP_0000007"
2) "MotoGP_0000002"
3) "MotoGP_0000003"
4) "MotoGP_0000008"
5) "MotoGP_0000005"
6) "MotoGP_0000004"
7) "MotoGP_0000001"

主要分享低代码、微服务、容器化、SAAS‬、系统架构方面的的‬内容‬‬,希望‬大家‬点赞‬,评论,关注‬。

喜欢的朋友记得给个关注~

标签:MotoGP,查看,Redis,redis,keepalived,设计方案,172.25,节点
From: https://blog.51cto.com/sharepointchina/5785759

相关文章

  • redis缓存时间范围数据用法
    场景:A系统需要根据业务系统名(比如业务系统就叫KKK)以及时间范围如2022-10-2210:01到2022-10-2210:31请求B系统,B系统会返回10:01到10:31这30个分钟的数据;这个数据需要缓存......
  • Redis笔记8
    (ObjectivelyDown)stateonlyifatleast<quorum>sentinelsagree. #(客观下降)仅状态至少法定人数同意。 NotethatwhateveristheODOWNquorum,aSentinelw......
  • Redis笔记8
    (ObjectivelyDown)stateonlyifatleast<quorum>sentinelsagree. #(客观下降)仅状态至少法定人数同意。 NotethatwhateveristheODOWNquorum,aSentinelw......
  • Redis常见问题
    一.Redis的持久化方式?RDB:定时对数据内存做快照存储AOF:记录执行的命令默认开启RDB,AOF需手动设置开启使用;实际的应用中,采取RDB+AOF结合使用二者区别RDBAOF数......
  • 基于Redis实现用户签到、UV统计的功能
    用户签到在Redis中使用位图(BitMap)来存储签到信息,可以大大减小开销。同时在设计redis数据结构时,在key中加上时间、用户id等信息,可以统计该用户在某个时间段内的签到情况。(b......
  • Redis搭建Sentinel实验环境
    环境准备在物理机上启动3台物理机,IP地址分别为:192.168.56.4,192.168.56.5,192.168.56.6。1.确保3台虚拟机的网络是相互联通的。2.确保已经在3台虚拟机上安装了redis(本示例......
  • 基于Redis实现好友动态推送、附近商铺功能
    好友动态推送基于推模式实现探店笔记,一个人发布blog,在将blog保存到数据库的同时将blog发送到每个粉丝的收信箱中;收信箱按时间戳进行排序(类似于朋友圈);收信箱查询数据时按滚......
  • k8s-node节点的安装3
    k8s-node节点的安装3环境:master节点:10.0.0.11node1节点:10.0.0.12node2节点:10.0.0.13接下来node1节点的安装node1节点安装的时候就自动把docker安装了,不要epel源,默......
  • leetcode 450. Delete Node in a BST 删除二叉搜索树中的节点 (中等)
    一、题目大意给定一个二叉搜索树的根节点root和一个值key,删除二叉搜索树中的key对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用......
  • 单链表插入和删除一个节点的伪代码
    在单链表第i个元素之前插入元素e伪代码算法描述:(1)首先,定义一个指针p和计数因子j,并给计数因子j赋初值0(2)接着,用while循环开始遍历单链表,寻找第i-1个结点while循环条件:指针p不......