2014-10-17 32 views
4

我刚刚开始阅读关于Apache kafka的几天回来,所以我在这项技术中是一个新手。我有一些怀疑/疑问,需要澄清。如:在Apache Kafka中保留数据

  1. 按照配置:我们可以在这里设定小时的时间。 数据保留时间可以延长2年吗?

  2. 按本link它说:

卡夫卡集群保留所有发布的消息,无论他们是否已经被消耗换时间的配置时间。例如,如果日志保留时间设置为两天,那么在消息发布后的两天内,它可供使用,之后将被丢弃以释放空间。卡夫卡在数据大小方面的表现实际上保持不变,因此保留大量数据不成问题。

它已经说了性能在数据大小方面实际上是恒定的。那么这是否意味着我们可以尽可能地存储数据?它是否需要一些额外的配置或监视器?

回答

5

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

2)您可以存储尽可能多的数据,以适应您拥有的磁盘。请注意,尽管如果存储更多数据,卡夫卡的性能不会降低,但试图从磁盘获取海量数据的用户绝对会影响性能。为了获得最佳性能,请确保消费者读取相对较新的数据,同时保留在内存中。

0

可以保持较高的价值,然后100年,所以不用担心。至于你的第二个问题,这意味着你需要在O(1)中找回你的消息。

因此,不管有多少数据,检索的时间都不会改变。