刷盘策略
(1)同步刷盘 SYNC_FLUSH
返回成功状态时,消息已经被写入磁盘。
消息写入内存 pagecache 后,立即通知刷盘线程,刷盘完成后,返回消息写成功的状态。
(2)异步刷盘 ASYNC_FLUSH
返回成功状态时,消息只是被写入内存 pagecache,写操作返回快,吞吐量达,当内存里的消息积累到一定程度时,统一出发写磁盘动作,快速写入。
复制策略
(1)同步复制 SYNC_MASTER
master 和 slave 都写成功后返回成功状态。好处是如果master出故障,slave上有全部备份,容易恢复。缺点是增大延迟,降低吞吐量。
(2)异步复制 ASYNC_MASTER
只要 master 写成功就返回成功状态。好处是低延迟、高吞吐,缺点是如果 master 出故障,数据没有写入 slave,就会有丢失。
推荐 ASYNC_FLUSH + SYNC_MASTER。