node.js- no-Kafka- Kafka broker - MessageSizeTooLarge错误

时间:2017-10-25 06:49:31

标签: node.js apache-kafka

我们正在使用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。

1 个答案:

答案 0 :(得分:0)

发现了这个问题。 Base 64编码增加了有效载荷的大小。因此,即使hte文件在base64编码上为5MB,它也变为6.3大约Mb。

为了容纳5mb文件,我们将kafka消息限制增加到7MB