springboot集成redis主-从模式
linux安装redis服务⼀、环境准备
(硬件资源:Linux+redis-5.0.3+springboot project)
1. 需redis 3.0以上安装包,这⾥⾯以redis-5.0.3为⽰例。
2. 下⾯讲解在⼀台linux上模拟1主、2从、3哨兵的主从模式(实际应⽤中应需3台服务器,其中⼀台放1主和1哨兵,另外两台放1从1
哨兵)。
3. redis安装这⾥不做介绍,解压tar包后需要编译make。
⼆、redis主、从服务配置
1. 建6379、6381、6382⽂件夹⽤于单独配置f(这⾥以redis-server端⼝为⽂件夹)
2.将redis-5.0.f配置⽂件分别拷⼊到三个⽂件夹中。
3.配置⼀主⼆从f⽂件,默认6379为主,6381、6382为从。配置规则如下:
注:如果出现redis-cli连接不上,可以将bind设置0.0.0.0,意思是所有终端均可以连接(但须谨慎使⽤bind)。
如果设置redis的密码则需要设置masterauth和requirepass,不设置默认不需配置。
4.启动主从服务(需指定启动f配置⽂件)
redis-5.0.3/src/redis-server f &
redis-5.0.3/src/redis-server f &
redis-5.0.3/src/redis-server f &
查看进程:
验证redis服务info Replication:
客户端登录 redis-5.0.3/src/redis-cli -h 本机ip -p 6379 -a 密码
从上述可以看到6379为主服务,存在两个slave,端⼝为6381、6382。⾄此主从配置完毕。
三、哨兵配置
(哨兵的主要作⽤是当master节点down了,这个时候我们可以选举⼀个从充当主节点继续提供服务,注:主可读可写,从⼀般仅可读)
1. 新建⼀个sentinel⽬录,⽤于放置哨兵的⼀些配置。
2.进⼊sentinel⽬录,建26379、26381、26382⽂件夹(sentinel哨兵默认的监听端⼝为26379)
将redis-5.0.f⽂件分别copy到新建的26379、26381、26382三个⽂件夹下。
3.分别配置f⽂件,配置规则如下
其中sentinel monitor 主IP 6379 2 (2表⽰当有两个哨兵举⼿表决就可执⾏)
4.sentinel启动
redis-5.0.3/src/redis-sentinel sentinel/f &
redis-5.0.3/src/redis-sentinel sentinel/f &
redis-5.0.3/src/redis-sentinel sentinel/f &
启动后查看进程:
四、springboot集成主从配置
1. springboot集成所需jar包
2.springboot application.properties配置redis主从集成
⾄此所有配置完毕。
五、模拟master down后,两个slave发⽣的变化
1.kill掉master服务进程
2.查看之前两个slave服务,端⼝号为6381、6382。
端⼝号为6381的slave服务:
端⼝号为6382的slave服务:
通过上述模拟可看出,6382 slave服务⾃动从slave切换成了master redis服务。所以redis主-从模式可⾃动解决master down的情况,以保证系统正常运⾏。如将之前master结点重新启动只需要将原来master结点f配置上slaveof 本机IP 6382即可,此时启动的6379端⼝的服务已成为了slave服务。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论