我们正在使用node.js和no-kafka客户端。我们有一个文件上传功能,其中文件是json,然后它被读取并转换为Base64,生产者将其发送到Kafka。 Kafka的邮件大小限制配置为6MB
现在,当我上传大小为4.3-4.4 Mb的文件时,它会到达Kafka并进行处理。但是,当我上传文件> 4.4 Mb我得到了KafkaError:MessageSizeTooLarge
我是否需要在Node.js或没有kafka生产者/客户端中设置任何配置。
在client.js文件中,我在生成请求的方法中打印了请求长度和消息集长度 当我打印4.5 mb文件的消息长度时,它将请求长度显示为6432489,即> 6MB
当我打印4.3Mb文件的消息长度时,它显示请求长度为5838373,其中< 6MB
来自哪里的附加数据以及如何处理它。
我只需要将大小高达5MB的文件上传到KAFKA。
答案 0 :(得分:0)
发现了这个问题。 Base 64编码增加了有效载荷的大小。因此,即使hte文件在base64编码上为5MB,它也变为6.3大约Mb。
为了容纳5mb文件,我们将kafka消息限制增加到7MB