springBoot整合Redis哨兵主备模式

 Sentinel 哨兵模式作用

    如果单点redis部署的话,redis挂掉会影响系统的功能,因此需要一个方案来保证总有一台redis恩能够提供服务。而Redis-Sentinel就是官方推荐的解决方案,即部署两台redis,master和slave,二者数据实时同步,并且同时在两台机器上启动两个Sentinel进程来进行监控,一旦master挂掉,则动态切换到slave上进行主备倒换,slave升为master提供服务,保证业务可用性,当之前挂掉的master恢复后,再成为当前master的slave进行备份。

conf配置

    redis的conf文件没有特殊配置,设置为备机的redis增加slave-of配置

    slaveof 127.0.0.16379

    redis配置文件配置

    配置完成后,即可启动

    #启动master redis

    redis-server /etc/redis-cluster/redis-master-6379.conf

    #启动slave redis

    redis-server /etc/redis-cluster/redis-slave-6380.conf

    #启动redis-sentinel

    redis-sentinel /etc/redis-cluster/redis-sentinel_26379.conf

    redis-sentinel /etc/redis-cluster/redis-sentinel_26380.conf

    查看启动信息

    redis连接命令

    $ redis-cli -h host -p port -a password

    info 查看命令

    $ info replication

    $ info sentinel

    可以手动杀掉当前master,通过上述命令验证master切换是否正常。

springBoot配置

添加依赖

    <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-data-redis</artifactId>

    </dependency>

    <!-- session管理 -->

    <dependency>

        <groupId>org.springframework.session</groupId>

        <artifactId>spring-session-data-redis</artifactId>

    </dependency>

修改配置

# redis

  redis:

    database: 6

    sentinel:

      master: mymaster

      nodes: 10.97.98.128:26380,10.97.3.133:26380

    pool:

      max-active: 8

      max-total: 50

      max-idle: 8

      max-wait: -1

      min-idle: 0

      timeout: 3000

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容