前言
Redis 是一个开源的, BSD 许可的, key-value 缓存和存储
关于它的HA,目前有三种方式:
Sentinel
Redis Cluster
Keepalived + Redis
前两种都是官方的HA方式,它们各有利弊:
Sentinel使用一个守护进程对正在运行的Redis实例进行监控和管理,可以有效实现分布式监控与投票,但是failover过后,新的master对于client来说不可知,需要问sentinel,所以这种机制需要client端的逻辑支持
Redis Cluster非常完整高效地构建了一个分布式集群,Redis实例间相互监控和投票,自举与故障切换,官方建议至少需要三个节点,然后最好再各自带一个slave,于是六个节点就是起步价(否则集群很脆弱,很容易进入失效状态),节点要使用cluster模式启动,并在分配数据之初就提前构建好集群关系,所以这种机制需要重新部署,并且为了避免多次收到MOVED转向导致的开消,也需要client端的逻辑优化与支持
Keepalived + Redis 的实现方式并非官方HA方案,在监控与失效切换方面也并不显得比上面两种更加智能(靠自定义脚本实现,相对来说low很多),正是因为它足够传统足够老旧,所以它有一个上面两种都不具备的特性,就是对于客户端几乎是透明的,不必作任何修改,对当前正在运行的redis实例也不必作任何修改。
这里分享一下 Keepalived + Redis 的配置方法
Tip: 当前版本 Redis 3.0.4
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。