消息队列中间件的落盘和日志有何区别?

看一篇技术文章看到这么句话“这里又可以细分为:mq未记录日志,已记录日志但未落盘消息,已落盘但未来得及响应请求”

意思落盘和日志是两回事,我印象中kafka的持久化(即落盘吧?)就是用日志,也就是日志和落盘是一回事吧?

阅读 4.4k
2 个回答

落盘就是把数据从内存写入磁盘,这是个动词;日志显然是个名词。

不知道你看的是哪个 MQ(想来不是 Kafka,因为 Kafka 压根没有同步落盘),但一般来说为了保证吞吐率,MQ 都是先将消息存放在内存中的,直到某一条件达成(一般来说是缓冲区满了)后才会写入磁盘。像 RabbitMQ 这个过程甚至会更复杂一些,先从内存队列进行状态转换,然后写日志缓存,最后写消息文件和索引文件,整个这个过程都叫落盘。

日志仅仅是中间环节的的一个存储文件罢了。

这类半吊子技术文章里头乱起名字的搞法真的烦,建议转头看别的文章算了,不要纠结这种不专业的生造出来的名词。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题