Quelle est la différence entre les façons suivantes d'activer la compression dans kafka:
Approche 1: créez un sujet à l'aide de la commande:
bin/kafka-topics.sh --create --zookeeper localhost:2181 --config compression.type=gzip --topic test
Approche 2: définissez la propriété compression.type = gzip dans Kafka Producer Client API.
J'obtiens une meilleure compression et un débit plus élevé lorsque j'utilise l'approche 1.
Si j'utilise l'approche 1, cela signifie-t-il que la compression se produit à la fin du courtier alors que dans l'approche 2, les messages sont compressés à la fin du producteur puis envoyés au courtier?
Si j'utilise l'approche 1, cela signifie-t-il que la compression se produit du côté du courtier?
Ça dépend. Si le producteur ne définit pas de compression.type
ou en définit un autre, le message sera compressé à la fin du courtier. Cependant, si le producteur définit également compression.type
à gzip
, pas besoin de compresser à nouveau à la fin du courtier. En fait, il existe d'autres conditions strictes qui doivent être remplies pour éviter la compression, bien que cela dépasse un peu la portée.
dans l'approche 2, les messages sont compressés du côté du producteur, puis envoyés au courtier?
Oui, les enregistrements seront compressés avant d'être envoyés au courtier si le producteur définit sa configuration compression.type.