网站设计的提案,百度合伙人官方网站,手机oa办公系统下载,高端定制网站建设高端旅游定制同步刷盘、异步刷盘 RocketMQ的消息是存储到磁盘上的#xff0c;这样既能保证断电后恢复#xff0c;又可以让存储的消息量超出内存的限制。
RocketMQ为了提高性能#xff0c;会尽可能地保证磁盘的顺序写。消息在通过Producer写入RocketMQ的时候#xff0c;有两种
写磁盘方…
同步刷盘、异步刷盘 RocketMQ的消息是存储到磁盘上的这样既能保证断电后恢复又可以让存储的消息量超出内存的限制。
RocketMQ为了提高性能会尽可能地保证磁盘的顺序写。消息在通过Producer写入RocketMQ的时候有两种
写磁盘方式 1异步刷盘方式在返回写成功状态时消息可能只是被写入了内存的PAGECACHE写操作的返回快
吞吐量大当内存里的消息量积累到一定程度时统一触发写磁盘操作快速写入 2同步刷盘方式在返回写成功状态时消息已经被写入磁盘。具体流程是消息写入内存的PAGECACHE后立刻
通知刷盘线程刷盘然后等待刷盘完成刷盘线程执行完成后唤醒等待的线程返回消息写成功的状态 同步刷盘还是异步刷盘是通过Broker配置文件里的flushDiskType参数设置的这个参数被设置成SYNC_FLUSH、ASYNC_FLUSH中的一个 同步复制、异步复制 如果一个broker组有Master和Slave消息需要从Master复制到Slave上有同步和异步两种复制方式。
同步复制是等Master和Slave
均写成功后才反馈给客户端写成功状态异步复制方式是只要Master写成功即可反馈给客户端写成功状态 这两种复制方式各有优劣在异步复制方式下系统拥有较低的延迟和较高的吞吐量但是如果Master
出了故障有些数据因为没有被写入Slave有可能会丢失在同步复制方式下如果Master出故障Slave
上有全部的备份数据容易恢复但是同步复制会增大数据写入延迟降低系统吞吐量。 同步复制和异步复制是通过Broker配置文件里的brokerRole参数进行设置的这个参数可以被设置成
ASYNC_MASTER、SYNC_MASTER、SLAVE三个值中的一个。 实际应用中要结合业务场景合理设置刷盘方式和主从复制方式尤其是SYNC_FLUSH方式由于频繁
的触发写磁盘动作会明显降低性能。通常情况下应该把Master和Slave设置成ASYNC_FLUSH的刷盘方式
主从之间配置成SYNC_MASTER的复制方式这样即使有一台机器出故障仍然可以保证数据不丢。