rocketmq-如何解决高可用问题?

本文介绍了Redis的主从复制功能,当主节点故障时,从节点如何自动晋升为主节点以确保高可用性。主要内容包括:主从复制的工作原理、自动切换的版本差异(4.5及以上版本支持自动切换)、自动切换的实现过程以及在不同版本中的行为。建议最佳实践是让从节点仅用于备份,避免读写操作以降低复杂性和风险。此外,讨论了在主节点故障时数据消费的处理方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

架构

官方架构图

复制数据

主从复制,其实就是把主节点数据复制到从节点。

自动切换

如果主节点挂了,从节点会自动晋升为主节点。

版本区别

高版本

4.5和以上,支持自动切换。

低版本

4.5以下,不支持自动切换。

自动切换-实现原理

1.主节点挂了

2.选择一个从节点

1)一个从节点

如果只有一个从节点,就选择这个从节点晋升为主节点。

2)多个从节点

如果有多个从节点,就选举,过半以上节点选择了某个从节点,该节点才会晋升为主节点。

小结

高可用的核心

1.有一个备胎节点

2.实现自动切换功能

读写数据

主节点

写和读。

从节点

最佳实践是不写也不读,只备胎。

从节点默认是不读,但是也可以设置为可读——但是最好不要这么做,因为徒增复杂度,容易引起故障。

消费数据

如果主节点挂了,

1.高版本

从节点会自动晋升为主节点,然后就可写可读。

2.低版本

从节点不会晋升为主节点。那主节点的没有来得及消费的数据怎么办?消费者会从备胎节点读数据,这正是从节点的作用。

但是,此时,从节点是不能写数据的。所以,相当于主节点集群数量少了一个节点,就像dubbo集群服务一样,少了一个节点,是没有影响的。但是,如果剩下的主节点比较少,比如总共只有2个,然后还挂了一个,这个时候就会存在单点故障。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值