web-dev-qa-db-ja.com

Kafkaプロデューサー対トピックで圧縮タイプを設定

Kafkaで圧縮を有効にする次の方法の違いは何ですか?

アプローチ1:コマンドを使用してトピックを作成します。

bin/kafka-topics.sh --create --zookeeper localhost:2181 --config compression.type=gzip --topic test

アプローチ2:プロパティcompression.type = gzip in Kafka Producer Client APIを設定します。

アプローチ1を使用すると、圧縮とスループットが向上します。

アプローチ1を使用する場合、ブローカー側で圧縮が行われ、アプローチ2ではプロデューサー側でメッセージが圧縮されてからブローカーに送信されますか?

11
shants

アプローチ1を使用する場合、ブローカー側で圧縮が行われるということですか?

場合によります。プロデューサーがcompression.typeを設定しない場合、または異なるものを設定する場合、メッセージはブローカー側で圧縮されます。ただし、プロデューサーがcompression.typegzipに設定する場合、ブローカー側で再度圧縮する必要はありません。実際には、圧縮する必要がないことを保証するために満たす必要がある他の厳しい条件がありますが、それは範囲の少し超えています。

アプローチ2では、メッセージはプロデューサー側で圧縮され、ブローカーに送信されますか?

はい。プロデューサーがcompression.type configを設定すると、ブローカーに送信される前にレコードが圧縮されます。

12
amethystic