redis高可用方案

背景

有一个消息推送功能上线后发现好像没有成功。因为我开发的时候推送地址等配置是存储在我的redis里面,我怀疑是redis没有存储我的配置,所以我想登录生产redis去看这个key值存在不。

过程

因为是第一次接触这个项目,所以我先去程序配置文件拿到这个redis的地址,发现连不上,之后请教了同事。才知道生产上是这样连接redis的。我了解到这是一种主流的redis高可用方案,采用predixy + redis-cluster组合。

硬负载 - > predixy 代理 ->redis-cluster集群,之后我也拿到了服务器的资料,自己也看了下,大致了解了生产上redis的架构。

总结:

  • 生产上有六组集群 和 六个predixy代理分别在六台服务器上。
  • 每个predixy代理配置六组集群上的节点。
  • 硬负载大致就是相当于nginx软负载那样负载均衡,每次硬负载通过负载均衡选择一个predixy代理,从而去选择predixy代理配置的节点redis。(像运维人员请教确认过了)

为什么采用predixy+redi-cluster

  • 主从模式

主节点进行读写操作,从节点一般都是只读,一个master节点可以拥有多个slave节点,master节点挂了以后,不影响slave节点的读,但redis不再提供写服务,master重启后将重新对外提供写服务。

  • 哨兵sentinel

当master节点挂了以后,会在slave节点中选择一个作为master节点继续工作。

  • 集群redis-cluster 

cluster同时满足了sentinel的一些特性达到了高可用目的,不同点是采用hash算法根据key自动将数据分配到不同的节点当中,新增节点非常方便,当数据量过大时,可增加机器进行扩容,解决了单机容量受限的问题。多个redis节点直接数据共享。 

  •  predis

集群多个节点客户端要怎么连接呢?使用代理进行链接,客户端只需连接代理即可。

在网上找到好的参考资料

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值