转载自:https://blog.csdn.net/meilong_whpu/article/details/76922456
Master-Slave方式就遇到了主从复制延迟的问题(异步复制永远是延迟的),那么在Master不可用后可能会导致部分数据丢失。针对这种场景,提供了同步双写的模式。
主备Broker的异步同步和同步双写在同步流程上面没有区别,只是在写入消息时,同步双写会创建一个GroupCommitRequest请求,由GroupTransferService服务线程来监听同步的进度是否达到了该请求的要求,若达到了则返回通知调用者;而异步同步时调用者不关心同步的进度,同步完成之后也不需通知任何调用者。两种同步方式的流程图如下:
1、主备Broker异步同步流程图:
2、主备Broker同步双写流程图: