Formation Apache Kafka : de zéro à la prod

Rétention Kafka : retention.ms et compaction des topics — chapitre 5

Maîtriser la rétention, la compaction, la taille des segments et tous les paramètres critiques de configuration pour optimiser le stockage, les…

Réservé aux abonnés

Contexte

La rétention Kafka fixe combien de temps, ou jusqu’à quelle taille, un topic conserve ses messages ; la compaction ne garde que la dernière valeur de chaque clé. Kafka stocke les messages dans des journaux immuables appelés logs. Leur durée de conservation, leur taille et leur stratégie de nettoyage influencent :

  • la taille du disque consommé,
  • les performances du cluster,
  • la disponibilité de l’historique,
  • la logique métier (événements vs état),
  • la capacité à reconstruire des services (replay).

Comprendre les paramètres fondamentaux (rétention, compaction, segment, cleanup policy) est essentiel pour administrer un cluster Kafka de manière efficace et durable.

Lexique

Rétention

Durée ou taille maximale pendant laquelle les messages sont conservés.

Segment

Fichier physique de log. Kafka n’efface pas un message isolé, mais un segment complet.

cleanup.policy

Stratégie de nettoyage : delete ou compact.

Compaction

Mode permettant de conserver uniquement la dernière valeur d’une clé (state topic).

Lag

Écart entre le dernier message produit et celui consommé.

Diagramme

Rétention par durée · cleanup.policy=deletesegment 0> 7 j : supprimésegment 1conservésegment 2conservésegment actifécriture iciplus ancien → plus récentCompaction · cleanup.policy=compactA:10€effacéB:5€effacéA:12€effacéC:8€C:8€B:6€B:6€A:11€A:11€log cleanerOn garde la dernière valeur de chaque clé (ex. : dernier prix d’un produit)
Schéma Supprimer par âge ou compacter par clé

La suite de cette leçon est réservée aux abonnés

Les 3 premières leçons de chaque formation sont gratuites. Débloquez la suite pour continuer.