后端程序员之路 46、Redis Sentinel

时间:2023-02-11 10:37:28

Sentinel — Redis 命令参考
http://doc.redisfans.com/topic/sentinel.html#sentinel-api

Guidelines for Redis clients with support for Redis Sentinel – Redis
https://redis.io/topics/sentinel-clients

Redis的哨兵模式可以监控多个Redis实例,当一个master不能正常工作时, Sentinel 会开始一次自动故障迁移操作, 它会将失效master的其中一个slave升级为新的master, 并让失效master的其他slave改为复制新的master。

xetorthio/jedis: A blazingly small and sane redis java client
https://github.com/xetorthio/jedis

baifendian/RedisSentinelClient: 基于sentinel的redis集群的客户端, 支持自动主从切换, 采用ketama作为一致性hash算法
https://github.com/baifendian/RedisSentinelClient

总结:
1、从可连接的哨兵获取master和slaves
    - SENTINEL get-master-addr-by-name master-name
    - SENTINEL slaves master-name
2、自己维护连接池
3、可以订阅哨兵的事件,响应故障迁移