【发布时间】:2018-11-09 01:05:15
【问题描述】:
假设我想实现一个同时充当生产者和消费者的应用程序。客户端应该能够订阅一组主题并接收事件。它还应该能够在收到事件时进行回复,而无需生产者订阅主题。那可能吗?你有什么建议?我需要为此目的使用 Kafka 流吗?
谢谢, 阿迪布
【问题讨论】:
-
我知道 kafka 我的问题不是关于如何使用 kafka
标签: apache-kafka apache-kafka-streams
假设我想实现一个同时充当生产者和消费者的应用程序。客户端应该能够订阅一组主题并接收事件。它还应该能够在收到事件时进行回复,而无需生产者订阅主题。那可能吗?你有什么建议?我需要为此目的使用 Kafka 流吗?
谢谢, 阿迪布
【问题讨论】:
标签: apache-kafka apache-kafka-streams
这取决于你想做什么。正如@WGSSAMINTHA 所指出的,只有消费者订阅主题。 Producer 始终可以写入任何主题(只要没有配置限制访问的 ACL)。
您可以直接在您的应用程序中使用KafkaConsumer 和KafkaProducer。这样做的好处是您在应用程序中具有完全的灵活性。但是,您还需要自己处理所有事情。
也可以使用KafkaStreams。 KafkaStreams 的优势在于它提供了更高级别的抽象,提供内置的容错状态处理和高级 DSL。它不如普通的 KafkaConsumer 和 KafkaProducer 灵活,但对你来说可能也不太有用。
这是灵活性/便利性的权衡。
【讨论】:
只有消费者需要订阅主题,因为消费者总是监听主题并选择事件。
生产者只是向主题发送事件,不需要监听主题。
【讨论】: