本文主要是介绍【Redis】HA-高可用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
简述
虽然Redis的主从复制可以实现数据的备份,保障数据的安全,但是还不能实现高可用,需要手动故障转移,因此Master仍然可能存在单点故障,为此Redis提供了Sentinel(哨兵)模式来实现高可用。
Redis Sentinel 提供以下功能:
- Monitoring(监控):Sentinel会不断检查Master和Slave是否正常工作;
- Notification(通知):Sentinel所监控的任意一个Redis实例出现问题,都可以以API的方式告知系统管理员或者开发人员;
- Automatic failover(自动故障转移):如果Master出现故障,Sentinel会自动选择一个Slave升级为Master,并且修改其他Slave的配置,指向新的Master,最后告知应用程序新Master地址;
- Configuration provider(配置提供者):Sentinel会充当服务发现客户端,应用程序通过Sentinel获取Master地址,如果发生故障转移,Sentinel会报告新地址。
架构
Redis Sentinel是一个分布式系统,多个Sentinels协同工作:
- 当Master无法正常提供服务时,多个Sentinel均可检测Master是否真的故障,降低单个Sentinel误报的可能性 <
这篇关于【Redis】HA-高可用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!