实时消息RTM| 多活架构中的数据一致性问题

本文详细阐述了RTM系统采用多活架构的原因,以及在高并发环境下避免数据一致性问题的方法。通过对比主备容灾的局限性,介绍了Paxos算法在解决分布式一致性问题中的关键思想。最后总结,架构选择应根据业务需求定制,确保数据一致性是关键

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

一,容灾方案

之前介绍过RTM的系统架构设计,其中有说到我们的容灾设计的是双活和多活。有很多小伙伴问到为什么不采用主从架构设计,以及多活容灾怎么做到数据一致性等问题。这里我们针对容灾和多活设计进行详细介绍。

容灾的方案有很多,最常见的就是主备容灾,最初版本我们也采用了主机+冷备机容灾模式:Client正常与Master连接进行通信,正常情况下只有主机提供服务;在主机出故障时,仲裁服务切换主备,原来的主机下线变成备机,原备机变成主机后为Client提供服务。
在这里插入图片描述

一主机一备机的模型设计简单,并且具有不错的可用性——毕竟主备两台机器同时不可用的概率极低,相信很多后台系统也采用了类似的容灾策略。

主备容灾存在一些明显的缺陷,比如备机闲置导致有一半的空闲机器;比如主备切换的时候,备机在瞬间要接受主机所有的请求,容易导致备机过载。既然一主一备容灾存在这样的问题,为什么还有大量的公司采用这种容灾模型?事实上,架构的选择往往跟项目背景有关,大多数情况项目需要的机器数少,机器冗余不是主要问题;其次主备架构简单稳定,可以快速开发,快速上线。

由于RTM系统对并发的要求非常高,同时由于项目对设备的使用率要求较高,所以我们采用了多活架构。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值