Apache kafka 用于消费消息文本文件的Kafka
我需要订阅实时消息文件,这些文件可能是在发布子模型的客户端已经存在的MQ设置中发布的。当我订阅MQ的主题以接收消息文件时,我是否应该使用Kafka仅获取文件,然后使用任何首选API(如Python)处理它们并存储在我的文件系统中?我希望安装如下所示:- 客户的MQ-->Kafka安装文件系统 当文件发布到Kafka时,我是否应该使用Python与Kafka代理进行对话,以接收文件进行进一步处理Apache kafka 用于消费消息文本文件的Kafka,apache-kafka,kafka-consumer-api,Apache Kafka,Kafka Consumer Api,我需要订阅实时消息文件,这些文件可能是在发布子模型的客户端已经存在的MQ设置中发布的。当我订阅MQ的主题以接收消息文件时,我是否应该使用Kafka仅获取文件,然后使用任何首选API(如Python)处理它们并存储在我的文件系统中?我希望安装如下所示:- 客户的MQ-->Kafka安装文件系统 当文件发布到Kafka时,我是否应该使用Python与Kafka代理进行对话,以接收文件进行进一步处理 注意:我不希望消息文件内容在不同的分区中被破坏。相反,我希望发布和使用完整的文件。卡夫卡以K,V格式存
注意:我不希望消息文件内容在不同的分区中被破坏。相反,我希望发布和使用完整的文件。卡夫卡以K,V格式存储消息。具有相似密钥的所有消息将被推送到同一分区中。分区也可以有具有不同密钥的消息。但只要您的制作者使用一致密钥(即文件名)推送文件的数据,它就会存储在单个分区中
现在,您可以使用任何编程语言将消息推送到卡夫卡。但是,我建议您使用Java。这是因为,Kafka的所有最新特性都将立即提供给Java客户机。据我所知,卡夫卡python内部依赖于librdkafka库,该库不久将发布具有最新功能的新版本。kafka以K,V格式存储消息。具有相似密钥的所有消息将被推送到同一分区中。分区也可以有具有不同密钥的消息。但只要您的制作者使用一致密钥(即文件名)推送文件的数据,它就会存储在单个分区中 现在,您可以使用任何编程语言将消息推送到卡夫卡。但是,我建议您使用Java。这是因为,Kafka的所有最新特性都将立即提供给Java客户机。据我所知,kafka python内部依赖于librdkafka库,该库很快将发布具有最新特性的新版本 我希望发布和使用完整的文件 卡夫卡不是用来传递文件的。。。它的默认最大消息大小仅为1MB,并且将其设置为远高于5MB,这只会使代理连接和存储过载 相反,您应该设置一个共享文件系统,如FTP、NAS、HDFS、S3等,然后仅通过Kafka发送文件的URI,然后在您读取消费者中的消息后连接到此文件系统。然后您就有了小消息,不需要处理分区和排序,因为您只需要引用存储整个文件的外部系统 我是否应该使用Python与Kafka broker对话以接收文件以进行进一步处理 任何语言都可以 我希望发布和使用完整的文件 卡夫卡不是用来传递文件的。。。它的默认最大消息大小仅为1MB,并且将其设置为远高于5MB,这只会使代理连接和存储过载 相反,您应该设置一个共享文件系统,如FTP、NAS、HDFS、S3等,然后仅通过Kafka发送文件的URI,然后在您读取消费者中的消息后连接到此文件系统。然后您就有了小消息,不需要处理分区和排序,因为您只需要引用存储整个文件的外部系统 我是否应该使用Python与Kafka broker对话以接收文件以进行进一步处理
任何语言都可以 谢谢你的评论。。。在IBM MQ这样的传统MQ系统中,我的完整文件交付需求是否可能?我只有Kafka方面的经验。但我还是不建议这样做,因为这样会造成更多的网络开销。谢谢你的评论。。。在IBM MQ这样的传统MQ系统中,我的完整文件交付需求是否可能?我只有Kafka方面的经验。但我还是不建议这样做,因为这样会导致更多的网络开销。