2017-10-25 6 views
0

ノー・カフカ・クライアントでnode.jsを使用しています。私たちは、ファイルがjsonであるファイルアップロード機能を持っていて、それを読み込んでBase64に変換し、プロデューサがそれをKafkaに送信しています。 Kafkaのメッセージサイズの上限が6MBに設定されていますnode.js- no-Kafka- Kafkaブローカー - MessageSizeTooLargeエラー

サイズが4.3-4.4Mbのファイルをアップロードすると、Kafkaに届き処理されます。しかし、4.4Mbを超えるファイルをアップロードすると、私はKafkaErrorを取得します。MessageSizeTooLarge

Node.jsまたはkafkaプロデューサー/クライアントに設定する必要がある設定はありますか? client.jsで

はI 4.5 MBは、それがある6432489のように要求長さを示しているファイルのIは、メッセージの長さを印刷する要求 を生成する方法のリクエストな長さとmessageset長を印刷されたファイル> 6メガバイト

そして、私は4.3Mbのファイルのためのメッセージ長を印刷するときには、< 6メガバイトからの追加データであると私はそれをどのように扱うか

ある5838373として要求の長さを示します。

私が必要とするのは、5MBまでのサイズのファイルがKAFKAにアップロードされることです。

答えて

0

問題が見つかりました。ベース64エンコーディングは、ペイロードのサイズを増加させます。したがって、base64エンコーディングでhteファイルが5MBであっても、6.3Mb程度になります。 Base64では、メッセージをエンコードするために必要なのはなぜ

対応するために5メガバイトのファイル我々は7メガバイト

+0

にカフカのメッセージ制限を増加しますか?あなたは単にJSONを公開できませんか? node-rdkafkaクライアントでは、スナッピー圧縮で公開してJSONメッセージをさらに小さくすることもできます。 –

関連する問題