Apache Kafka:重播主题中的消息
Posted
技术标签:
【中文标题】Apache Kafka:重播主题中的消息【英文标题】:Apache Kafka: Replay messages in a topic 【发布时间】:2018-07-07 00:39:09 【问题描述】:我正在考虑使用 Apache Kafka 作为事件存储,在微服务中存储事件。
我通过各种博客读到的一件事是,Kafka 可以被认为是一个单一的事实来源,Kafka 日志将存储给定主题的所有事件。
我想知道 Kafka 是否有能力从一开始就重播消息(例如,如果发生硬盘驱动器/网络崩溃)?
(请注意,我看到有一些日志存储在主题目录下的 /tmp 文件夹中)。有谁知道可以调用任何命令(如果有)来重播主题中的消息?
【问题讨论】:
【参考方案1】:是的,您可以寻找特定的偏移量,但是
时间的开始
取决于主题或代理配置。 IIRC,默认保留期为 7 天。
请参阅the Kafka documentation。
【讨论】:
感谢您的有用回答!该链接指向目前的所有文档。如果它指向与您的答案相关的特定部分,它可能会更有帮助(尤其是对于初学者)。再次感谢! 当时,没有特定属性的锚;现在有 - kafka.apache.org/documentation/#log.retention.hours 和 kafka.apache.org/documentation/#retention.ms - 还有 kafka.apache.org/documentation/#log.retention.bytes 和 kafka.apache.org/documentation/#retention.bytes【参考方案2】:是的,您可以重播消息。由于消费者可以控制重置偏移量。您可以从头开始阅读消息,或者如果您知道任何现有的偏移值,您也可以从那里读取它。 提交消息后,它将在主题中存在,直到其保留期结束。默认保留期为 7 天,但您可以随时更改。
【讨论】:
以上是关于Apache Kafka:重播主题中的消息的主要内容,如果未能解决你的问题,请参考以下文章