使用
- slave-announce-ip
- slave-announce-port
- sentinel announce-ip
- sentinel announce-port
的主要原因是由于端口或IP映射导致的无法连接的问题。
例如 docker 这种容器,当你使用了端口映射后,运行在 docker 中的 redis 是不知道正真的端口或 IP 的,所以在哨兵模式下,哨兵就无法连接到 master 和 replica 。所以为了解决这个问题,redis 官方就推出了这几个配置属性。
当遇到这种情况后,其实还有另一种解决方式,就是直接使用 docker 的主机网络(启动时加上 --net=host)。
网友评论