我有一个生产者在kafka上发送消息而消费者处理业务规则,但是当消费者完成处理消息时,我的生产者需要得到通知。消费者在完成通知生产者时是否需要在另一个主题上发送消息,还是有其他方法可以做到这一点?
查看此图片是否正确。
答案 0 :(得分:0)
Kafka没有内置机制,因为Kafka设计的想法是完全解耦生产者和消费者。
使用主题作为反向渠道应该有效。当然,还有许多其他可能的解决方案。
答案 1 :(得分:0)
如果您可以确定消费者完成处理所有消息,只需关闭消费者并等待几秒钟
使用Zookeeper客户端观察消费者ZNode,当它被删除时,客户端获得通知并可以将其传输给生产者。但是您可能需要在线程之间进行通信。
我不知道是不是,但我认为你可以尝试一下。