Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.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
Java 在ApacheKafka中保留数据_Java_Apache Kafka - Fatal编程技术网

Java 在ApacheKafka中保留数据

Java 在ApacheKafka中保留数据,java,apache-kafka,Java,Apache Kafka,几天前我刚刚开始阅读有关ApacheKafka的文章,所以我是这项技术的新手。我有一些疑问/疑问,需要澄清。例如: 根据配置:log.retention.hours我们可以在这里以小时为单位设置持续时间数据保留时间可以延长2年吗? 照此说, Kafka集群保留所有已发布的消息,无论它们是否已在可配置的时间段内被使用。例如,如果日志保留时间设置为两天,则在消息发布后的两天内,它可供使用,之后将丢弃以释放空间。Kafka的性能在数据大小方面实际上是恒定的,因此保留大量数据不是问题 正如前面所说的,性

几天前我刚刚开始阅读有关ApacheKafka的文章,所以我是这项技术的新手。我有一些疑问/疑问,需要澄清。例如:

  • 根据配置:
    log.retention.hours
    我们可以在这里以小时为单位设置持续时间数据保留时间可以延长2年吗?

  • 照此说,

  • Kafka集群保留所有已发布的消息,无论它们是否已在可配置的时间段内被使用。例如,如果日志保留时间设置为两天,则在消息发布后的两天内,它可供使用,之后将丢弃以释放空间。Kafka的性能在数据大小方面实际上是恒定的,因此保留大量数据不是问题

    正如前面所说的,性能相对于数据大小实际上是恒定的。那么这是否意味着我们可以尽可能多地存储数据?它需要一些额外的配置或监视器吗?

    1)当然。log.retention.hours是一个整数。2年仅仅是17520小时。远低于整数的最大值


    2) 您可以在现有磁盘中存储尽可能多的数据。请注意,虽然如果存储更多数据,Kafka的性能不会降低,但试图从磁盘获取大量数据的消费者绝对会影响性能。为了获得最佳性能,请确保消费者在其仍保留在内存中的情况下读取相对较新的数据。

    log.retention.hours可以保存比100年更高的值,所以不要担心它。至于你的第二个问题,这意味着是时候在
    O(1)
    中检索你的消息了

    因此,无论有多少数据,检索时间都不会改变