rocketmq 同步复制,异步复制,同步刷盘,异步刷盘详解

一、刷盘模式

  • 同步刷盘: 在返回写成功状态时,消息已经被写入磁盘。具体流程是,消息写入内存的PAGECACHE后,立刻通知刷盘线程刷盘,然后等待刷盘完成,刷盘线程执行完成后唤醒等待的线程,返回消息写成功的状态。优点:机器宕机消息也会被保留,缺点:写入速度慢,吞吐量小。
  • 异步刷盘: 在返回写成功状态时,消息只是被写入了内存的PAGECACHE,这样的好处是写操作的返回快,吞吐量大;当内存里的消息量积累到一定程度时,统一触发写磁盘操作,快速写入,缺点是一旦机器宕机消息可能会丢失

二、复制模式

1、同步复制

生产者发送消息后,Master 接收到存储消息请求,将消息数据同步给 Slave ,直到master和slave节点都写入成功(写入磁盘或者内存,看刷盘方式),才将成功结果返回给生产者。同步复制模式下,发送消息会有一定延迟,系统吞吐量也会降低。

2、异步复制

生产者发送消息后,Master 接收到存储消息请求,将消息写入成功后(写入磁盘或者内存,看刷盘方式),直接将成功结果返回给生产者。 Master 和 Slave 再通过异步的方式同步数据,这种复制模式具有较小的延迟,可以实现比较高的吞吐量。

若 Master 出现故障,有些数据可能未写入 Slave ,未同步的数据可能丢失。

注意

复制与刷盘之间是独立的,互不相关的,即一个M-S对中的节点上,可以任意设置刷盘方式,即如下图,可以主节点同步刷盘,从节点异步刷盘。
在这里插入图片描述
为了保障稳定性和高吞吐量一般采用同步复制、异步刷盘的方式,即如下图:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值