强制消费者只阅读消费者活跃后出现在主题中的消息
Force consumer to read only those messages that came in topic after consumer came to life
有什么办法可以强制消费者阅读最新的吗?
例如假设我在消费者组 CG1 中有一个主题 t1 和消费者 C1。
如果 t1 中有 10 条消息(m0 到 m10),一旦 C1 启动,它首先读取 5 条消息然后崩溃,现在在崩溃之前假设它提交了 5 条消息。与此同时,该主题又收到了 5 条消息(m11 至 m15)。现在 C1 恢复正常,之后 t1 又收到 5 条消息(m16 到 m20)。我希望 C1 强制从 m16 开始读取,即从 C1 恢复后 t1 收到的消息开始读取。由于已提交偏移量,它将从 m6 开始读取。我同意 C1 在关闭时丢失消息。有什么方法可以为这个用例配置我的消费者。
在我的消费者上设置 enable.auto.commit = false
和 auto.offset.reset = latest
适用于此用例。
有什么办法可以强制消费者阅读最新的吗? 例如假设我在消费者组 CG1 中有一个主题 t1 和消费者 C1。 如果 t1 中有 10 条消息(m0 到 m10),一旦 C1 启动,它首先读取 5 条消息然后崩溃,现在在崩溃之前假设它提交了 5 条消息。与此同时,该主题又收到了 5 条消息(m11 至 m15)。现在 C1 恢复正常,之后 t1 又收到 5 条消息(m16 到 m20)。我希望 C1 强制从 m16 开始读取,即从 C1 恢复后 t1 收到的消息开始读取。由于已提交偏移量,它将从 m6 开始读取。我同意 C1 在关闭时丢失消息。有什么方法可以为这个用例配置我的消费者。
在我的消费者上设置 enable.auto.commit = false
和 auto.offset.reset = latest
适用于此用例。