首页 > 解决方案 > 如何在 kafka 中处理 .png 或 .jpg 文件?

问题描述

我启动了我的 zookeper 和 kafkaServer 并能够从生产者向消费者发送消息但我不知道如何处理图像并将其从生产者发送给消费者?

动物园管理员

./bin/zookeeper-server-start.sh config/zookeeper.properties

卡夫卡服务器

./bin/kafka-server-start.sh config/server.properties

创建了一个主题

./bin/kafka-topics.sh --create --zookeeper localhost:2181 --
replication-factor 1 --partitions 1 --topic img_process

标签: apache-kafka

解决方案


当您将消息存储到 Kafka 中时,您实际上只是存储了一个字节数组,所以是的,您可以通过 Kafka 传递图像,只需将图像作为一个大字节数组读取并通过生产者发送。您可能希望在键或标头中存储其他元数据。

话虽如此,您将收到一些相当大的消息。另一种方法是将图像存储在某个文件系统上(如果生产者和消费者位于不同的机器上,则为分布式文件系统)并将 URI(绝对文件名)作为消息的内容发送。就 Kafka 而言,这样做的好处是效率更高,但您现在必须处理在两个不同的地方维护数据。另外,请注意,分布式文件系统有时会存在延迟,并且包含文件 URI 的 Kafka 消息可能在文件本身可供消费者使用之前可供消费者使用。


推荐阅读