redis的sentinel解决了redis replication的failover问题,但是并没有解决高可用的问题。为了解决高可用的问题,有很多思路可以采用,例如加入keepalive等技术,而本文会从redis的python api出发来尝试找到一个解决方案。
主要使用到了redis-py
pip install redis-py
from redis.sentinel import Sentinel
sentinel = Sentinel([('192.168.33.41', 26379)], socket_timeout=0.1)
master = sentinel.discover_master('mymaster')
更多详细用法可以参照redis-py文档