看一篇技术文章看到这么句话“这里又可以细分为:mq未记录日志,已记录日志但未落盘消息,已落盘但未来得及响应请求”
意思落盘和日志是两回事,我印象中kafka的持久化(即落盘吧?)就是用日志,也就是日志和落盘是一回事吧?
看一篇技术文章看到这么句话“这里又可以细分为:mq未记录日志,已记录日志但未落盘消息,已落盘但未来得及响应请求”
意思落盘和日志是两回事,我印象中kafka的持久化(即落盘吧?)就是用日志,也就是日志和落盘是一回事吧?
15 回答8.2k 阅读
8 回答6k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.2k 阅读
2 回答3.9k 阅读
1 回答2.2k 阅读✓ 已解决
落盘就是把数据从内存写入磁盘,这是个动词;日志显然是个名词。
不知道你看的是哪个 MQ(想来不是 Kafka,因为 Kafka 压根没有同步落盘),但一般来说为了保证吞吐率,MQ 都是先将消息存放在内存中的,直到某一条件达成(一般来说是缓冲区满了)后才会写入磁盘。像 RabbitMQ 这个过程甚至会更复杂一些,先从内存队列进行状态转换,然后写日志缓存,最后写消息文件和索引文件,整个这个过程都叫落盘。
日志仅仅是中间环节的的一个存储文件罢了。