【问题标题】:Kafka file streaming卡夫卡文件流
【发布时间】:2018-03-07 08:12:40
【问题描述】:

考虑以下场景。我有一个用于减震的Kafka经纪人和很多客户,他们给我发了user1.rar文件,分为文件user1.r01,user1.r02...(每个128KB)。正如预期的那样,消费到一个主题中效果很好。问题是我需要解压缩拓扑下游的文件并将解压缩的结果流式传输到最终存储。

不好的部分是我没有一个可操作的存储来存储一个用户的所有 rar。 kafka 有什么方法可以简化一个主题中的文件,所以我可以进行流解包。 我很害怕如果

  • 我使用一个消费者,一旦有 1000 个用户开始流式传输,我将压倒它的 RAM,并且 rXX 文件将在主题中混在一起
  • 如果我使用多个消费者,我认为 kafka 没有“智能路由”,所以我只能在一个消费者中读取一些键(与一个用户/用户组相关)+我将如何进行再平衡+重置,当其中一位消费者死亡时......

有没有什么规律,这种情况怎么处理?

谢谢!

【问题讨论】:

    标签: apache-kafka kafka-consumer-api apache-kafka-streams


    【解决方案1】:

    我对这一切都很陌生,但我现在已经阅读了 Kafka,如果我正确理解 Kafka 文档,您将需要使用连接器/任务(https://kafka.apache.org/documentation/#connect_overview - 参见第 8.3 章),更具体地说,SourceConnector/SourceTasks,因为您可以为连接器定义最大数量的任务(“tasks.max”),再加上 SourceConnector/SourceTasks 的轮询性质,您可以防止服务器过载。 如果我正确理解了文档,则在处理完任务后应该将其删除。

    我对这一切真的很陌生,但我希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-08
      • 2018-03-06
      • 2016-08-03
      • 2018-09-15
      • 2019-11-13
      • 2017-09-16
      相关资源
      最近更新 更多