我有一个卡夫卡制作人和consumer.The卡夫卡制作人发布到一个主题,数据被获取和一些处理完成。kafka消费者正在从另一个主题中读取关于主题1中的数据处理是否成功或失败的信息,即主题2是否成功或失败。我正在启动我的消费者,然后将数据发布到主题1。.I想使生产者和消费者同步,即一旦生产者发布数据,消费者应该读取该数据的成功或失败消息,然后生产者应该继续处理下一组数据。
发布于 2017-08-01 21:34:03
Apache Kafka和发布/订阅消息传递通常寻求通过使用流式异步事件来分离生产者和消费者。您所描述的更像是一个批处理作业或同步远程过程调用(RPC),其中生产者和消费者显式耦合在一起。标准的Apache Kafka生产者/消费者API不支持这种消息交换模式,但是您始终可以在Kafka API之上编写您自己的简单包装器,该包装器使用相关ID、消费ACK和请求/响应消息来创建您自己的接口,该接口的行为方式与您希望的一样。
发布于 2021-05-02 00:52:00
简短的回答: Kafka你不能这样做,Kafka不提供这种支持。
Long Answer:正如Hans解释的那样,发布/订阅消息传递模型使发布和订阅完全不知道对方,我相信这就是该模型的强大之处。生产者可以在不担心是否有消费者的情况下生产,消费者可以在不担心有多少生产者的情况下消费。
你能做的最接近的是,你可以让你的生产者同步。这意味着您可以等待,直到broker接收并确认您的消息。
如果你想这样做,在每次发送后刷新。
https://stackoverflow.com/questions/45431750
复制相似问题