场景: 我有一个 kafka 生产者,它向主题 A 生成一些消息。该消息有一个名为 correlationID 的专用标头,我想用它来将请求消息与响应相关联。预计在听主题 B 时会收到响应。
我想做的事: 一旦我生成消息,我想等待其相应的响应。
我担心的问题: 我不确定这是如何工作的,因为我知道一个消费者组中有多个消费者,并且可能有多个请求并行运行,并且可能会提交偏移量并引入丢失消息的风险。如何避免这种情况?真的有问题吗?我似乎对这个话题感到困惑,希望得到一些见解。
我想过使用ReplyKafkaTemplate,但我不确定它内部是如何工作的。它是否使用消费者组中的一个消费者?如果它可以在 OOB 中工作,那么它在多副本环境(其中有 Spring 应用程序的多个实例)中是否仍然可以工作?
我不会以这种方式使用 Kafka,因为如上所述,请求可以并行消耗。
Kafka 至少不打算以这种方式使用。你可以使用grpc或rest,但如果你想使用kafka那就不容易了。