我启动了zookeper和kafkaServer,并能够将消息从生产者发送到消费者 但是我不知道如何处理图像并将其从生产者发送到消费者?
动物园管理员
./bin/zookeeper-server-start.sh config/zookeeper.properties
kafkaServer
./bin/kafka-server-start.sh config/server.properties
创建主题
./bin/kafka-topics.sh --create --zookeeper localhost:2181 --
replication-factor 1 --partitions 1 --topic img_process
答案 0 :(得分:0)
当您将消息存储到Kafka中时,您实际上只存储了一个字节数组,因此可以通过Kafka传递图像,只需将图像读取为一个大字节数组并通过生产者发送即可。您可能需要在键或标题中存储其他元数据。
话虽如此,您将收到一些相当大的消息。另一种方法是将映像存储在某处的文件系统上(如果生产者和使用者将在不同的机器上,则为分布式文件系统),然后发送URI(绝对文件名)作为消息的内容。就Kafka而言,这样做的好处是效率更高,但是现在您必须在两个不同的地方处理数据维护。另外,请注意,有时分布式文件系统会有些滞后,并且包含文件URI的Kafka消息可能会在消费者可以使用文件之前供消费者使用。