读者诉苦:Redis 宕机,数据丢了,老板要辞退我

微信搜索 【微观技术】,关注这个不喜欢内卷的程序员。

精彩文章汇总 GitHub https://github.com/aalansehaiyang/technology-talk ,Star 12K ,汇总java生态圈常用技术框架、开源中间件,系统架构、数据库、大公司架构案例、常用三方类库、项目管理、线上问题排查、个人成长、思考等知识

大家好,我是Tom哥~

最近跟一位读者聊天,小哥非常郁闷,公司的Redis宕机了,线上业务受到了影响,老板非常愤怒,小哥担心会不会被辞退!

我也很好奇,问小哥Redis主节点挂了,还有备机啊。怎么会影响到业务呢?

小哥说,他们的系统架构只部署一个Redis单实例。节点挂了,数据也丢了。

图片

好吧,既然提到了备份,那今天,我们就来聊下 Redis的主从同步

首先,什么是主从?

主从也称主从集群,部署了多个Redis实例,如下图所示:

图片

其中,每个实例又有自己的专属职责

  • 主库:负责接收读操作、写操作

  • 从库:定期同步主库的数据,对外提供读操作

好奇的宝宝可能要问了,为什么从库不能写?

考虑到数据合并的复杂性,假如一个key,多次更新,每次操作在不同的实例上执行,为了保证数据的全局一致性,势必要加全局锁,保证在集群范围上串行化操作且在最新的数据基础上更新,这个成本还是很大的。

为了降低系统复杂度,节约成本。主从同步架构方案一般都是在主库上写,在从库上读。分工明确,职责单一。

可能有同学会提到 Redis Cluster 模式,这个是另一种设计方案。采用水平分割方式,通过CRC16(key)算法,将数据拆分到若干个实例中,每个实例只对自己负责的槽位的数据读、写,从而分摊集群压力。这个属于另一种玩法,本期就不深入展开了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值