Redis高可用实现零故障运行(什么是redis高可用)
Redis是一款高性能的分布式内存数据库,有时为了保证Redis的服务可靠性,就需要实现Redis的高可用,从而实现零故障运行。
实现Redis的高可用的方式有很多:
基于Redis-Sentienel的主从模式:
Redis的Sentinel模式就是一种常用的实现零故障运行的解决方案,Sentinel可以在Redis的Master和Slave之间,相互监测,如果Master节点出现故障,Sentinel可以很快的发现,然后在Slave中指定一个新的Master,从而实现故障转移,这样就可以保证服务的可用性。Sentinel实现的代码如下:
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel flover-timeout mymaster 10000
sentinel auth-pass mymaster password
基于Redis-Cluster集群实现:
Redis-Cluster模式可以将多台Redis服务器组织成一个Redis集群,其中包含多个Master-Slave模式的节点,以及一些Sentinel节点。实现上面的代码大体如下:
redis-trib create –replicas 1 192.168.11.129:7000 192.168.11.129:7001 192.168.11.130:7002 192.168.11.130:7003 192.168.11.131:7004 192.168.11.131:7005
以上就是实现Redis高可用的两种方法,这两种方案可以互补,我们一般会根据自己的业务场景,选择一种方式实现Redis的服务可靠性,以实现零故障运行。