数据写入pageCache或磁盘后是否有Kafka响应ack?

5fjcxozz  于 2023-01-01  发布在  Apache
关注(0)|答案(1)|浏览(125)

许多文章告诉我,Kafka首先将数据写入PageCache,这样可以提高写入性能。
但是,我有一个疑问,当ack=-1时,当copy=2时,数据确实已经存在于两个节点的PageCache中。
如果Kafka此时立即响应acks,则两个节点同时经历断电或系统崩溃,此时,两个节点的数据都还没有持久存储在磁盘上。
在这种极端情况下,数据丢失仍然会发生?

r3i60tvu

r3i60tvu1#

在上述情况下可能会发生数据丢失。
相关阅读:

  • this other answer
  • Confluent blog post:"由于日志数据不会从页面缓存同步刷新到磁盘,Kafka依赖于复制到多个代理节点,以提供持久性。默认情况下,代理将不会确认produce请求,直到将其复制到其他代理。"

相关问题