私のアプリケーションでは、プロデューサーとコンシューマーが Java API を使用してデータを圧縮および解凍した場合、解凍されたデータを問題なく消費する Kafka 高レベル コンシューマーを使用しています。
プロデューサがlibrdkafka C++ API を圧縮 (snappy または GZIP) に使用するとどうなりますか? 上記の場合と同様に、Java コンシューマーは透過的に解凍できますか。コンシューマ側のフェッチ サイズはどうなりますか? これも透過的に処理されますか。
単純なコンシューマー モデルを使用してカフカ コンシューマーを設計するとどうなりますか? プロデューサーからの圧縮データを明示的に解凍する必要がありますか (ここではlibrdkafka C++ API を使用すると仮定します)。
プロデューサ側のlibrdkafka C++ APIで圧縮が発生した場合、高レベルのコンシューマが機能しない可能性があると考えていますか? ここでKafka message codec - compress and decompress という他の投稿を見たので、ここで間違っている場合はクリアしてください。これとは対照的に、高レベルの消費者がhttp://grokbase.com/t/kafka/users/142veppeyv/unable-to-consume-snappy-compressed-messages-with-simpleを使用した場合、解凍が機能するはずであると言う別のリンクを見つけました-消費者。
ありがとう