代码之家  ›  专栏  ›  技术社区  ›  zython Hiery Nomus

不要坚持卡夫卡

  •  0
  • zython Hiery Nomus  · 技术社区  · 6 年前

    我有一个Kafka的用例,我不需要服务器上运行的一些主题的日志,一些主题发送一个 许多 而其他的就不那么多了。

    目前,我看到的唯一“修复”是设置一个相当宽松的保留策略。

    问题是,我想保留服务器上其他一些主题的日志和持久性信息,这些主题对我来说可能更重要。

    我有什么选择?

    2 回复  |  直到 6 年前
        1
  •  1
  •   Robin Moffatt    6 年前

    可以设置每个主题的保留策略。

    下面是一个使用 kafka-topics :

    kafka-topics.sh --zookeeper localhost:2181 \
                    --alter \
                    --topic MyTopic \
                    --config retention.ms=1000
    
        2
  •  1
  •   Mickael Maison    6 年前

    可以按主题设置保留设置。您可以在创建时这样做,也可以在创建后更改主题配置。您可以在上找到主题配置的完整列表 Kafka's website .

    另一方面,对于需要保留数据的主题,请设置保留限制,以便将数据保留更长的时间。

    例如,要在创建主题时设置主题配置(保留时间=24小时):

    kafka-topics.sh --zookeeper <ZK> --create --topic --partitions 1 --replication-factor 1 --config retention.ms=86400000
    

    要更新现有主题:

    kafka-configs.sh --zookeeper <ZK> --entity-type topics --entity-name <TOPIC> --alter --add-config retention.ms=86400000