Spring Boot 整合Redis Sentinel(1主2从3哨兵)

介绍

在前面的博客中已经介绍了如何搭建Redis集群(最简单的Redis集群:1主2从3哨兵)

Redis Sentinel 故障转移

Redis 主从配置

上面的配置虽然可以在服务器上面模拟测试成功,但是在整合到Spring Boot项目中,还是出现了一些小坑。本来准备直接在原博客上面改,但是考虑到更改后与当时的截图不一致,就在这里重新补充。

Redis集群配置

这里就只贴配置文件,配置项与原来无太大区别,仅仅是在从服务器,哨兵绑定的主服务器中的IP,改成真实的公网IP,不要使用localhost,或者127.0.0.1。因为这样的配置,在Spring Boot连接的过程中会出现错误的提示:

ERROR 12392 --- [nio-8088-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.data.redis.RedisConnectionFailureException: Unable to connect to Redis; nested exception is io.lettuce.core.RedisConnectionException: Unable to connect to 127.0.0.1:9736] with root cause

按道理说,如果配置真实的Redis集群,所有的服务均不在同一台服务器上,不会出现这样的问题。只是个人在搭建Redis集群都部署在了一台服务器上面,才会出现了如上的报错。问题不大,IP自行更正即可。

下面的配置可以成功运行,今天又折腾了一下,把Redis创建了低权限用户来运行(考虑到安全性)。那就直接贴配置文件了(配置解析在前面的博客中有介绍),额外的配置,根据自己需要再补充。

  • master

    daemonize yes
    requirepass vUa4DQguxnygaqrTdehNOhuQZ32*
    port 9736
    databases 16
    logfile /usr/local/logs/redis_9736.log
    dir ./data/
    bind 0.0.0.0 
    dbfilename dump_9736.rdb
    
  • slave

你可能感兴趣的:(Redis,Spring,Boot)