mix*_*l__ 12 apache-kafka apache-kafka-streams
Kafka Streams应用程序只能与此配置值指定的单个Kafka群集通信.未来版本的Kafka Streams将支持连接到不同的Kafka集群,以读取输入流和编写输出流.
这是否意味着我的整个应用程序只能连接到单个Kafka群集,或者每个KafkaStreams实例只能连接到一个群集?
我可以创建多个具有连接到不同群集的不同属性的KafkaStreams实例吗?
这意味着单个应用程序只能连接到一个群集.
我可以创建多个具有连接到不同群集的不同属性的KafkaStreams实例吗?
是的,一点没错.但那些不同的实例将是不同的应用程序.(想想"消费者群体".)
更新:
在单个JVM中,您可以根据需要创建任意数量的KafkaStreams实例.您还可以将它们配置为连接到不同的群集(KStreamBuilder如果要执行相同的处理,则可以对所有群集使用相同的群集).
只是为了补充@Matthias J. Sax的出色答案。
这是否意味着我的整个应用程序只能连接到单个 Kafka 集群,或者 KafkaStreams 的每个实例只能连接到单个集群?
我认为这里有两个问题。
它取决于“我的整个应用程序”的定义,即它可能只是KafkaStreams单个 JVM 上的单个实例或多个实例,或者可能KafkaStreams是作为 pod 执行的 Docker 容器中单个 JVM 上的多个实例。不管是什么,你都会发现“我的整个应用程序”有点太宽泛而且不太精确。
关键是,您无法创建一个可以KafkaStreams与多个 Kafka 集群通信的实例(因为配置是通过映射中的键值对属性进行的),因此您可以回答自己的问题,不能你不是吗?
无法在 Kafka Streams 应用程序中使用两个或多个 Kafka 集群是Kafka Streams 和 Spark Structured Streaming 之间的区别之一(后者能够根据需要使用任意数量的 Kafka 集群,因此您可以在不同的 Kafka 之间构建管道)簇)。
| 归档时间: |
|
| 查看次数: |
2510 次 |
| 最近记录: |