标签:redis 高性能分布式缓存 sentinel 高可用性 sentinelstate
Sentinel是Redis的高可用性解决方案,由一个或多个Sentinel实例组成Sentinel系统,可以用来监视任意多个主服务器和主服务器下的所有从服务器,当监视到主服务器下线之后会自动将下线主服务器下的从服务器升级为新的主服务器,由新主服务器代替已下线主服务器处理命令请求。
Sentinel是一个特殊的Redis服务器实例,Redis由一个或多个Sentinel实例构成Sentinel系统,Sentinel可以用来监测任意多个主服务器和从服务器,当Sentinel由于故障下线之后,Sentinel会进行故障转移,推选出新的主服务器。
启动Sentinel实例
可以通过下列命令启动Sentinel实例:
redis-sentinel /path/to/your/sentinel.confSentinel服务器和普通的Redis服务器使用的命令不一样,Sentinel不使用数据库所以不能使用SET等跟数据库有关的命令,在初始化时也不用载入RDB或AOF文件。
数据结构
Redis中通过sentinelState结构维护Sentinel相关的状态,其中有一个master字典维护被监视的主服务器,字典key是主服务器名称,value为一个sentinelRedisInstance结构。当Sentinel发现了主服务器的新从服务器时会和从服务器建立命令连接和订阅连接,并且发送INFO命令向从服务器获取从服务器的runid、主服务器的ip端口、主从服务器连接状态、主服务器优先级、从服务器复制偏移量。并发这些信息保存到sentinelRedisInstance结构中。
节点通信
默认情况下,Sentinel每两秒一次的频率通过命令连接向所有被监视的主从服务器发送一下格式的命令:《Redis设计与实现》学习笔记-Sentinel(哨岗、哨兵)
标签:redis 高性能分布式缓存 sentinel 高可用性 sentinelstate
原文地址:http://blog.csdn.net/pentiumchen/article/details/44501381