4

我想知道是否有一种简单的方法可以连接 Kafka 和 Netflix Conductor(而不是 SQS)?目前,它似乎只适用于 Amazon SQS。此外,似乎只能按任务执行一项操作。有没有办法按任务执行多个操作?

提前致谢,

4

1 回答 1

0

要将 Kafka 支持添加到 Netflix Conductor,您需要

  • 在 contribs 中创建一个扩展 AbstractModule 的模块(在您的 server.properties 中添加一个条目,以对抗conductor.additional.modules 属性)
  • 为 kafka 生产者和消费者操作实现 ObservableQueue。
  • 像 SQS 实现一样实现 EventQueueProvider
  • 在 server.properties 中为您的 kafka 初始化添加属性
kafka.producer.bootstrap.servers=host1:port1;host2:port2
kafka.producer.key.serializer=org.apache.kafka.common.serialization.StringSerializer
kafka.producer.value.serializer=org.apache.kafka.common.serialization.StringSerializer
kafka.consumer.bootstrap.servers=host1:port1;host2:port2
kafka.consumer.key.deserializer=org.apache.kafka.common.serialization.StringDeserializer
kafka.consumer.value.deserializer=org.apache.kafka.common.serialization.StringDeserializer
  • 通过更新 contribs 模块的 build.gradle 为项目添加 kafka 库支持。

参考下面的 PR 链接实现(作者 preeth-gopalakrishnan)

https://github.com/Netflix/conductor/pull/672

(如果你没有找到PR,假设它被合并到master)

于 2019-01-08T21:53:57.380 回答