如何在不传递列表且不使用模式的情况下订阅多个主题
how to subscribe to multiple topics without passing a list and without using patterns
在 Kafka 中,我知道我可以让我的消费者订阅多个主题:
- 直接传递我要订阅的主题列表。
- 或传递一个模式
在我的例子中,我无法直接传递主题列表或模式,因为事先不知道主题列表。
比如用户会在早上指定一个主题,使用UI(例如),在晚上指定第二个主题,那么消费者将完成对这两个主题的订阅。
可以这样做吗?
您可以利用 KafkaConsumer 的 subscribe
和 unsubscribe
API 来动态更改您的消费者的订阅。
如果您向使用 key=subscribe/unsubscribe
和 value=topic1/topic2/...
的订阅主题之一发送消息,您可以在您的消费者中实施一个逻辑,根据这些消息更改其订阅。
在 Kafka 中,我知道我可以让我的消费者订阅多个主题:
- 直接传递我要订阅的主题列表。
- 或传递一个模式
在我的例子中,我无法直接传递主题列表或模式,因为事先不知道主题列表。
比如用户会在早上指定一个主题,使用UI(例如),在晚上指定第二个主题,那么消费者将完成对这两个主题的订阅。
可以这样做吗?
您可以利用 KafkaConsumer 的 subscribe
和 unsubscribe
API 来动态更改您的消费者的订阅。
如果您向使用 key=subscribe/unsubscribe
和 value=topic1/topic2/...
的订阅主题之一发送消息,您可以在您的消费者中实施一个逻辑,根据这些消息更改其订阅。