Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache kafka apachekafka持久化所有数据_Apache Kafka - Fatal编程技术网

Apache kafka apachekafka持久化所有数据

Apache kafka apachekafka持久化所有数据,apache-kafka,Apache Kafka,使用时,如何才能将日志配置为永不丢失数据(v0.10.0.0) 我看过(旧的?),我一直在考虑玩,但卡夫卡有没有一个永远不删除消息的选项 或者,在保留期内设定一个高得离谱的值是最好的选择吗?在保留期内设定一个高得离谱的值是最好的选择 合理的警告:使用无限保留可能会对您造成一些伤害 例如,默认行为只允许新用户从主题的开头或结尾开始,从事件源的角度来看,这至少是令人讨厌的 此外,Kafka如果大规模使用(比如说每秒有上万条消息),将大大有利于高性能存储,而永久保留策略的成本将高得离谱 仅供参考,Ka

使用时,如何才能将日志配置为永不丢失数据(v0.10.0.0)

我看过(旧的?),我一直在考虑玩,但卡夫卡有没有一个永远不删除消息的选项


或者,在保留期内设定一个高得离谱的值是最好的选择吗?

在保留期内设定一个高得离谱的值是最好的选择

合理的警告:使用无限保留可能会对您造成一些伤害

例如,默认行为只允许新用户从主题的开头或结尾开始,从事件源的角度来看,这至少是令人讨厌的

此外,Kafka如果大规模使用(比如说每秒有上万条消息),将大大有利于高性能存储,而永久保留策略的成本将高得离谱

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

更新:

如果将保留设置为“永远”,显然这是可能的 或者对某个主题启用日志压缩,则所有主题都将保留数据 时间但我认为人们真正问的问题是 这是否会奏效,更重要的是它是否真的有效 这样做完全是疯了

简而言之,这并不疯狂,人们总是这样做, 卡夫卡实际上就是为这种用途而设计的。但首先,为什么 你想这样做吗?实际上有很多用例, 以下是一些:


关心数据重放和永久消息的磁盘成本的人,只是想分享一些东西

数据重放: 您可以寻找给定偏移量的消费者。甚至可以在给定时间戳的情况下查询偏移量。然后,若您的消费者不需要从一开始就知道所有数据,但数据的一个子集就足够了,那个么您可以使用它

我使用kafka java库,例如:kafka客户端。见:

磁盘成本:

通过使用Avro()和compation之类的工具,您至少可以最大限度地减少磁盘空间的使用


也许有一种方法可以使用符号链接来分隔文件系统。但这只是一个未经尝试的想法。

我没有意识到“只从开始或结束”的行为,这肯定是一个问题。是否有一些变通方法可以像“阅读最后100条消息”?据我所知,你最好的选择是根据一些标准(我猜你的数据中有一个基于时间的字段?)过滤掉消息。虽然这绝对是一篇有见地的文章,我觉得它没有解决我对磁盘成本和实际数据重放的担忧。有这方面的消息吗?