使用Kafka与Netflix Conductor

5

我想知道是否有一种简单的方法来连接Kafka和Netflix Conductor(而不是SQS)?目前看来,它似乎只能与Amazon SQS配合工作。此外,每个任务似乎只能执行一个操作。是否有一种方法可以通过一个任务执行多个操作?

提前致谢。


出于好奇,你能找到答案吗? - Eternalcode
1
支持Kafka的添加方式类似于SQS的添加方式。 每个任务今天只运行一个操作 - 这是有意设计的。 在https://github.com/Netflix/conductor/issues/217#issuecomment-309078337中有答案。 - Sourabh
1个回答

0

为了将Kafka支持添加到Netflix Conductor中,您需要:

  • 在contribs中创建一个扩展AbstractModule的模块(针对conductor.additional.modules属性,在server.properties中添加一个条目)
  • 实现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,请假设它已合并到主分支)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接