【发布时间】:2020-09-09 20:57:48
【问题描述】:
我是 Kafka 新手,我一直在研究 Kafka 在停止时向其发送消息时的行为。
我面临的情况是我使用“Kubectl delete StatefulSet kafka_kf”来停止 Kafka。然后我使用 java Kafka Producer 向 Kafka 发送了一些消息。然后我再次启动 Kafka,这些发送给 Kafka 的消息在我启动 Kafka 的那一刻立即出现在消费者中。 知道在这种情况下卡夫卡内部会发生什么吗?以及如何防止这些消息出现在消费者中?这些消息稍后会导致重复问题,这就是为什么我需要它们不出现。
我通过使用命令打开的消费者看到消息出现在消费者中:
kubectl exec -ti test -- ./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --isolation-level read_committed --topic testtopic
用于向 kafka 发送消息的代码和平是:
producer.send(message)
【问题讨论】:
标签: apache-kafka kafka-consumer-api kafka-producer-api