请问你知道分布式系统的预写日志设计模式么? (4)

从这个文件开始恢复并重发消息,因为里面的消息有成功写入过 consumer queue 以及 index 的,所以从这里恢复一定能保证最终一致性。但是会造成某些已经写入过 consumer queue 的消息再次写入,也就是重复消费。

更新偏移,清理

数据库

基本上所有的数据库都会有 WAL 类似的设计,例如 MySQL 的 Innodb redo log 等等。

image

image

一致性存储

例如 ZK 还有 ETCD 这样的一致性中间件。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzgjsj.html