gpt4 book ai didi

apache-kafka - 在 Kafka 和动态主题中关联

转载 作者:行者123 更新时间:2023-12-04 05:17:30 24 4
gpt4 key购买 nike

我正在使用 Kafka 构建相关系统。假设,有一个服务 一个 执行数据处理并且有成千上万的客户端 向它提交作业。 s是短暂的,它们出现在网络上,将数据推送到一个 然后发生了两件重要的事情:

  • 将立即收到来自 的状态一个 ;
  • 那么要么
    完全退出,保持在线以接收更多更新
    状态,或者偶尔会弹出来检查状态。

  • (这与网格计算或 mpi 没有什么不同)。

    这两点都应该使用著名的 correlationId 概念来实现。 : 拥有一个唯一的 id(在我的例子中是 UUID),它发送到 一个 在标题中,反过来,将其用作 Reply-To将状态更新发送到的主题。这意味着它必须即时创建主题,它们无法预先确定。

    我有 auto.create.topics.enable打开,它确实动态地创建了主题,但现有的消费者不知道它们并且需要重新启动[我想,如果我理解文档正确的话,可以获取主题元数据]。我还检查了消费者的 metadata.max.age.ms设置,但它似乎无济于事,即使我将其设置为非常低的值。

    据我所知,这还没有得到答复,即: kafka filtering/Dynamic topic creation , kafka consumer to dynamically detect topics added , Can a Kafka producer create topics and partitions?或回答不满意。

    因为有数百个 一个 s 和数千 s,我不可能使用共享主题或类似的东西,以免我的网络过载。我可以用卡夫卡的 AdminTools ,或者不管它叫什么,来预先创建主题,但我觉得它有点傻(即使我看到人们使用它与 Zookeeper 和 Kafka 基础设施本身交谈的现实生活中的例子)。

    所以问题是,有没有一种方法可以动态创建 Kafka 主题,让消费者和生产者都知道它而无需重新启动或其他任何事情?而且,在最坏的情况下,AdminTools 真的会帮助它吗,我必须在哪一边使用它 - 一个 ?
    Kafka 0.11, Java 8
    更新
    使用 AdminClient 创建主题不管什么原因都无济于事,消费者还是扔了 LEADER_NOT_AVAILABLE当我尝试订阅时。

    最佳答案

    好的,所以我会回答我自己的问题。

  • 使用 AdminClient 创建主题只有在创建相应的消费者之前执行时才有效。
  • 更改了我拥有的拓扑,考虑到 1) 并在消息头中引入相关 ID 的交换(与 JMS 中相同)。我还必须实现某些拓扑管理方法,分组 放入容器中。

  • 需要注意的是,正如很多人所说,这只适用于 s 在单个消费者组中,并以 1 个分区收听主题。

    要了解我正在从事的工作,您可以查看我一直在研究的中间件框架 https://github.com/ikonkere/magic .

    关于apache-kafka - 在 Kafka 和动态主题中关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46662102/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com