java redis 主从 哨兵_redis 主从复制+读写分离+哨兵

1.redis读写分离应用场景

当数据量变得庞大的时候,读写分离还是很有必要的。同时避免一个redis服务宕机,导致应用宕机的情况,我们启用sentinel(哨兵)服务,实现主从切换的功能。redis提供了一个master,多个slave的服务。

准备两个redis服务,依次命名文件夹子master,slave.端口号分别为192.168.121.130和192.168.121.131

2.分别对两台服务器进行redis安装

如果对Redis不熟悉的童鞋请看博主的redis单机安装的博文. 这里是传送门

3.修改master配置文件

这里192.168.121.131作为master

vim redis.conf

requirepass 123

java redis 主从 哨兵_redis 主从复制+读写分离+哨兵_第1张图片

4.修改slave配置文件

vim redis.conf

port 6379slaveof192.168.121.131 6379masterauth123requirepass123

java redis 主从 哨兵_redis 主从复制+读写分离+哨兵_第2张图片

java redis 主从 哨兵_redis 主从复制+读写分离+哨兵_第3张图片

5.查看命令

运行在redis客户端下 ./redis.cli -p 6379

查看主从信息:INFO replication

java redis 主从 哨兵_redis 主从复制+读写分离+哨兵_第4张图片

6.测试

java redis 主从 哨兵_redis 主从复制+读写分离+哨兵_第5张图片

java redis 主从 哨兵_redis 主从复制+读写分离+哨兵_第6张图片

主从复制,读写分离成功

7.哨兵

应用场景,主redis挂了会影响从机,所以redis提供了一个sentinel(哨兵),以此来实现主从切换的功能

Redis哨兵(sentinel)实现主从切换:

通过配置两个sentinel进程:/bin目录下(两个sentinel.conf内容相同)

vim sentinel.conf

port 26379

# 6379后的1为投票选数量满足1后就切换,可自行设置

sentinel monitor mymaster192.168.121.131 6379 1

daemonize yes

sentinel auth-pass mymaster 123

java redis 主从 哨兵_redis 主从复制+读写分离+哨兵_第7张图片

启动:redis-server sentinel.conf --sentinel

当我们kill master进程后会自动主进行主从切换

java redis 主从 哨兵_redis 主从复制+读写分离+哨兵_第8张图片

java redis 主从 哨兵_redis 主从复制+读写分离+哨兵_第9张图片

java redis 主从 哨兵_redis 主从复制+读写分离+哨兵_第10张图片

欢迎转载:

中文名:惠凡

博客名:淹死的鱼o0

你可能感兴趣的:(java,redis,主从,哨兵)