apache-kafka - 将 Kafka 与 Netflix Conductor 一起使用

标签 apache-kafka workflow netflix netflix-conductor

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

提前致谢,

最佳答案

要将 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)

    关于apache-kafka - 将 Kafka 与 Netflix Conductor 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44503759/

    相关文章:

    google-chrome - 《树莓派 2》 Netflix

    hadoop - 在 AWS EMR 上用 Lipstick 运行 Pig

    java - 使用Spring Boot配置Kafka的问题

    apache-kafka - Storm - 有条件地消耗来自 kafka spout 的流?

    git - 寻找有关 git 网站存储库/分支结构的建议

    npm - 使用 npm 包

    spring - 创建自定义 Zuul 过滤器

    java - 将 sprig 连接到 kafka 开始使用 docker compose 进行本地主机开发

    apache-spark - kafka kafka-consumer-groups.sh --describe 不返回消费者组的输出

    workflow - 使用 DAG 的 Condor 作业以及一些需要运行同一主机的作业