假设我想实现一个同时充当生产者和消费者的应用程序。客户应能够订阅一组主题并接收事件。它也应该能够在收到事件时进行回复,而无需制作者订阅主题。那可能吗?你有什么建议?我是否需要为此使用Kafka流?
谢谢, 阿迪布
答案 0 :(得分:0)
只有消费者需要订阅主题,因为消费者总是收听主题并选择事件。
制作人只需将事件发送到主题,而无需收听主题。
答案 1 :(得分:0)
这取决于您要确切执行的操作。正如@WGSSAMINTHA指出的那样,只有消费者订阅主题。生产者可以始终写任何主题(只要未配置限制访问的ACL)。
您可以直接在应用程序中使用KafkaConsumer
和KafkaProducer
。这样的好处是您在应用程序中具有完全的灵活性。但是,您还需要自己做好一切准备。
也可以使用KafkaStreams
。 KafkaStreams
的优点在于,它提供更高级别的抽象,提供内置的容错状态处理以及高级DSL。它不像普通的KafkaConsumer
和KafkaProducer
那样灵活,但对您来说也可能工作量较小。
这是灵活性/便利性的权衡。