Apache Kafka保留所有数据

nha*_*nha 2 apache-kafka

Kafka用作事件存储时,如何配置日志永不丢失数据(v0.10.0.0)?

我看过(旧的?)log.retention.hours,并且我一直在考虑使用压缩键,但是kafka是否可以选择从不删除消息?

还是在保留期内高得离谱的最佳选择?

nha*_*nha 6

更新:可以将数据存储在 Apache Kafka 中

\n\n
\n

显然这是可能的,如果您只是将保留设置为 \xe2\x80\x9cforever\xe2\x80\x9d\n 或在某个主题上启用日志压缩,那么数据将一直保留\n。但我认为人们真正问的问题不是这是否有效,而是这是否是完全疯狂的事情。

\n\n

简而言之,它\xe2\x80\x99并不疯狂,人们一直这样做,\n而Kafka实际上就是为这种类型的使用而设计的。但首先,您为什么要这样做?实际上有很多用例,\n 这里\xe2\x80\x99s 一些:

\n
\n


C4s*_*tor 5

您没有更好的选择,那就是在保留期内使用高得离谱的值。

合理警告:使用无限保留可能会伤害您一点。

例如,默认行为仅允许新订户从主题的开头或结尾开始,这至少在事件源角度上是令人讨厌的。

此外,如果大规模使用Kafka(假设每秒发送数万条消息),则对于高性能存储将大有裨益,而采用永久保留策略,其成本将高得离谱。

仅供参考,Kafka提供了一些工具(例如,Kafka Connect),可以轻松地将数据持久存储在廉价数据存储中。