高可用性
数据的安全性
数据分流
节点
🐤Redis主从复制特点
主节点
从节点
和MongoDB不同的是,Redis中的主从复制,主节点挂掉后不会自动选举,如果需要自动选举需要借助Redis Sentinel
来实现
我这里是以Windows10系统演示如果安装在服务器都差不多,就是需要修改bind的配置
bind 127.0.0.1 #绑定ip地址
port 6380 #绑定端口号
port 6381 #绑定端口号
slaveof 127.0.0.1 6380 #主节点地址和端口
port 6382 #绑定端口号
slaveof 127.0.0.1 6380 #主节点地址和端口
5 注册Redis服务启动Redis服务
命令行进入安装包路径下,执行如下指令
进入任务管理器服务列表找到Redis服务分别启动刚刚注册的Redis服务
redis-cli -h 127.0.0.1 -p 6380
info replication
🐤测试主从复制
🐤初始化同步
bgsave
,生成RDB文件🦄后续同步
数据安全性
和数据分流的问题
,但是Redis主从复制并没有解决高可用性
的问题🐤Redis-Sentinel是如何做到高可用的
候选Sentinel
领导者
port 26380 # 当前Sentinel服务运行的端口
sentinel monitor mymaster 127.0.0.1 6380 2 # 主服务器名称 主服务器地址 主服务器端口,客观下线票数
sentinel down-after-milliseconds mymaster 10000 # 主观下线时间
sentinel parallel-syncs mymaster 1 # 故障转移之后,从节点是串行还是并行同步数据
sentinel failover-timeout mymaster 20000 # 故障转移超时时间
daemonize yes #以守护进程方式运行
上面一份配置是为了更好了理解该配置,以下配置可以用以实际当中,坑少,每个Sentinel都差不多修改一下端口号即可,最好不要用有注释的。
port 26380
sentinel monitor mymaster 127.0.0.1 6380 2
sentinel down-after-milliseconds mymaster 10000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 20000
daemonize yes
redis-server.exe --service-install sentinel.conf --sentinel --service-name Sentinel26380
redis-server.exe --service-install sentinel.conf --sentinel --service-name Sentinel26381
redis-server.exe --service-install sentinel.conf --sentinel --service-name Sentinel26382
删除服务,管理员身份运行
sc delete 服务名称
把主节点服务停止
可以发现,6380Redis服务器已经访问不了,Redis-Sentinel已经为我们选举出了新的主节点,并且建立了主从关系,搭建完毕。
我正在参与 腾讯云开发者社区数据库专题有奖征文。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。