Kafka文件流

时间:2017-09-26 07:55:51

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

请考虑以下情形。我有一个Kafka经纪人减震和很多客户,谁发给我user1.rar文件,分为文件user1.r01,user1.r02 ...(每个128KB)。消费成一个主题的效果与预期相当。问题是我需要解压缩拓扑下游的文件并将解压缩的结果流式传输到最终存储。

不好的一点是,我没有可操作的存储空间来存储一个用户的所有rars。在kafka中是否有任何方法可以简化一个主题中的文件,因此我可以进行流解包。 我很害怕,如果

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

有没有任何模式,如何处理这种情况?

谢谢!

1 个答案:

答案 0 :(得分:0)

我对这一切都很陌生,但我现在已经读了一下Kafka,如果我正确理解了Kafka文档,你就需要使用连接器/任务({{3 - 请参阅第8.3章),更具体地说,可以为SourceConnector / SourceTasks定义连接器的最大数量任务(" tasks.max"),以及SourceConnector / SourceTasks的轮询特性,您可以防止服务器过载。 处理完任务后,如果我正确理解文档,则应将其删除。

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