标签:扩展 通过 设置 区别 客户端连接 ddl 服务端 lang 临时
<!doctype html>8.Redis Sentinel
为主提供备份 读写分离 故障转移
手动故障转移
自动故障转移
监控多个集群
配置开启主从节点 自动发现从节点
配置开启sentinel监控主节点(sentinel是特殊的redis)
实际应该多台机器
详细配置从节点
服务端高可用
客户端高可用
客户端接入流程
jedis
new JedisSentinelPool(masterName,sentinelSet,poolConfig,timeout);
redisSentinelPool.getResource();
// jedis command
jedis.close() 归还到池子
form redis.sentinel import Sentinel sentinel = Sentinel([(‘localhost‘,26379),(‘localhost‘,26380),(‘localhost‘,26381),],socket_timeout=0.1) sentinel.discover_master("mymaster") sentinel.discover_slaves("mymaster")
客户端高可用观察
服务端日志分析:数据节点和sentinel节点
单个定时任务
每10秒每个sentinel对master和slave执行info
每2秒每个sentinel通过master节点的channel交换信息(pub/sub)
每1秒每一个sentinel对其他sentinel的redis执行ping
主主下线和客观下线
配置
主观下线
客观下线
节点运维
下线原因分析
主节点
从节点
sentinel节点:同上
节点上线
主节点
从节点
sentinel节点:
高可用读写分离 客户端
通过循环连接sentinel集合 如果所有都能不能连接 异常
订阅sentinel 频道 +switch-master
收到+switch-master信息
从节点的作用
副本:高可用的基础
扩展:读能力
故障转移 三个消息
sentinel是redis高可用实现方案
sentinel2.8版本开始正式生产可用,之前版本生产不可用
sentinel节点应该大于等于3且最好是奇数
sentinel中的数据节点和普通数据节点没有区别
sentinel 通过三个定时任务对主从和其余sentinel接的监控
sentinel对接点做判定时分为主观下线和客观下线
标签:扩展 通过 设置 区别 客户端连接 ddl 服务端 lang 临时
原文地址:https://www.cnblogs.com/richiewlq/p/12191287.html