目前项目组还处于刚刚成立阶段,有许多东西需要从零到一,借着这个机会,学习到许多以前没有接触过的东西,Redis哨兵模式主从集群也是在这个阶段搭建的,其实在很久以前就一直有搭建哨兵集群的想法,直到一年之后才来做这件事感到挺惭愧的,将知识点记录和总结下来也是一种快乐。
一、Redis 哨兵模式简介
Redis-Sentinel是官方推荐的高可用解决方案,当redis在做master-slave的高可用方案时,假如master宕机了,redis本身(以及其很多客户端)都没有实现自动进行主备切换,而redis-sentinel本身也是独立运行的进程,可以部署在其他与redis集群可通讯的机器中监控redis集群。
它的主要功能有一下几点:
1、不时地监控redis是否按照预期良好地运行;
2、如果发现某个redis节点运行出现状况,能够通知另外一个进程(例如它的客户端);
3、能够进行自动切换。当一个master节点不可用时,能够选举出master的多个slave(如果有超过一个slave的话)中的一个来作为新的master,其它的slave节点会将它所追随的master的地址改为被提升为master的slave的新地址;
4、哨兵为客户端提供服务发现,客户端链接哨兵,哨兵提供当前master的地址然后提供服务,如果出现切换,也就是