我们有一个用例,基于到达工作队列的工作项,我们需要使用消息元数据来决定从哪个Kafka主题流式传输我们的数据。我们部署的工作节点可能不到100个,每个工作节点可以有一个可配置的线程数来接收来自队列的消息。因此,如果一个工作者有"n“个线程,我们可能会将kafka流打开到"n”个不同的主题。(n通常小于10)。一旦工作进程处理完消息,我们还需要关闭流。工人可以收到下一条消息,一旦它确认了第一条消息,在这一点上,我需要打开另一个主题的kafka流。此外,每个kafka流都需要扫描主题的所有分区(大约5-10个),以根据某个属性进行过滤。
这样的流是否适用于Kafka流,或者这不是一种最佳的方法?
发布于 2021-01-19 07:10:47
我不确定我是否完全理解了用例,但它似乎是从主题A到主题B用例的“简单”复制数据,即没有数据处理/修改。然而,从输入到输出主题复制数据的逻辑似乎很复杂,因此使用Kafka Streams (即Kafka的流处理库)可能不是最合适的,因为您需要更多的灵活性。
然而,使用普通的KafkaConsumers和KafkaProducers应该允许你实现你想要的东西。
https://stackoverflow.com/questions/63830348
复制相似问题