Kafka流-双向

时间:2018-11-09 01:05:16

标签: apache-kafka apache-kafka-streams

假设我想实现一个同时充当生产者和消费者的应用程序。客户应能够订阅一组主题并接收事件。它也应该能够在收到事件时进行回复,而无需制作者订阅主题。那可能吗?你有什么建议?我是否需要为此使用Kafka流?

谢谢, 阿迪布

2 个答案:

答案 0 :(得分:0)

只有消费者需要订阅主题,因为消费者总是收听主题并选择事件。

制作人只需将事件发送到主题,而无需收听主题。

答案 1 :(得分:0)

这取决于您要确切执行的操作。正如@WGSSAMINTHA指出的那样,只有消费者订阅主题。生产者可以始终写任何主题(只要未配置限制访问的ACL)。

您可以直接在应用程序中使用KafkaConsumerKafkaProducer。这样的好处是您在应用程序中具有完全的灵活性。但是,您还需要自己做好一切准备。

也可以使用KafkaStreamsKafkaStreams的优点在于,它提供更高级别的抽象,提供内置的容错状态处理以及高级DSL。它不像普通的KafkaConsumerKafkaProducer那样灵活,但对您来说也可能工作量较小。

这是灵活性/便利性的权衡。