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ではプロデューサー側でメッセージが圧縮されてからブローカーに送信されますか?
アプローチ1を使用する場合、ブローカー側で圧縮が行われるということですか?
場合によります。プロデューサーがcompression.type
を設定しない場合、または異なるものを設定する場合、メッセージはブローカー側で圧縮されます。ただし、プロデューサーがcompression.type
をgzip
に設定する場合、ブローカー側で再度圧縮する必要はありません。実際には、圧縮する必要がないことを保証するために満たす必要がある他の厳しい条件がありますが、それは範囲の少し超えています。
アプローチ2では、メッセージはプロデューサー側で圧縮され、ブローカーに送信されますか?
はい。プロデューサーがcompression.type configを設定すると、ブローカーに送信される前にレコードが圧縮されます。