【发布时间】:2019-12-14 19:09:30
【问题描述】:
我有自己的带有 Python 的 Spring Cloud Data Flow 处理器,我使用这个示例作为指导:https://dataflow.spring.io/docs/recipes/polyglot/processor/。
然后我想扩展并创建三个这样的处理器,所以我使用spring.cloud.deployer.myApp.count=3 创建了 3 个内部带有 Python 的 Pod。
我稍微修改了示例中的代码:当我创建一个 Kafka 消费者时,我还传递了一个组 id,所以消息应该是负载均衡的。
consumer = KafkaConsumer(get_input_channel(), group_id=get_consumer_group(), bootstrap_servers=[get_kafka_binder_brokers()])
问题是 SCDF 创建了一个只有 1 个分区的 Kafka 主题,因此消息只能到达一个 pod。 所以我想知道:
- 我是否应该以某种方式配置 SCDF 以创建具有 3 个分区的 Kafka 主题?
- 或者我不应该依赖 SCDF 并在 Python 中自己创建主题?我想这将是多余的,因为 SCDF 也创建了这个主题。
- SCDF 中的哪个组件实际上负责创建 Kafka 主题?我如何影响它的分区数量?
- 如果我停止此流并使用 4 个处理器步骤再次启动,是否应该使用第 4 个分区扩展主题?因为目前没有创建新分区。
【问题讨论】:
标签: python spring kubernetes apache-kafka spring-cloud-dataflow