View a markdown version of this page

Comment les segments de journal sont copiés vers un stockage hiérarchisé pour une rubrique Amazon MSK - Amazon Managed Streaming for Apache Kafka

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Comment les segments de journal sont copiés vers un stockage hiérarchisé pour une rubrique Amazon MSK

Lorsque vous activez le stockage hiérarchisé pour une rubrique nouvelle ou existante, Apache Kafka copie les segments de journaux fermés du stockage principal vers le stockage hiérarchisé.

  • Apache Kafka copie uniquement les segments de journaux fermés. Il copie tous les messages contenus dans le segment du journal vers un stockage hiérarchisé.

  • Les segments actifs ne sont pas éligibles à la hiérarchisation. La taille du segment de journal (segment.bytes) ou le temps d'exécution du segment (segment.ms) contrôlent le taux de fermeture des segments, et le taux auquel Apache Kafka les copie ensuite vers un stockage hiérarchisé.

Les paramètres de conservation d'une rubrique pour laquelle le stockage hiérarchisé est activé sont différents des paramètres d'une rubrique sans stockage hiérarchisé activé. Les règles suivantes contrôlent la conservation des messages dans les rubriques pour lesquelles le stockage hiérarchisé est activé :

  • Vous définissez la rétention dans Apache Kafka avec deux paramètres : log.retention.ms (heure) et log.retention.bytes (taille). Ces paramètres déterminent la durée totale et la taille des données conservées par Apache Kafka dans le cluster. Que vous activiez ou non le mode de stockage hiérarchisé, vous définissez ces configurations au niveau du cluster. Vous pouvez remplacer les paramètres au niveau de la rubrique par des configurations de rubrique.

  • Lorsque vous activez le stockage hiérarchisé, vous pouvez également spécifier la durée pendant laquelle le niveau de stockage hautes performances principal stocke les données. Par exemple, si une rubrique possède un paramètre de conservation globale (log.retention.ms) de 7 jours et une rétention locale (local.retention.ms) de 12 heures, le stockage principal du cluster ne conserve les données que pendant les 12 premières heures. Le niveau de stockage à faible coût conserve les données pendant 7 jours complets.

  • Les paramètres de conservation habituels s'appliquent à l'intégralité du journal. Cela inclut ses parties principales et hiérarchisées.

  • Les paramètres local.retention.ms ou local.retention.bytes contrôlent la conservation des messages dans le stockage principal. Apache Kafka copie les segments de journal fermés vers un stockage hiérarchisé dès leur fermeture (sur la base de segment.bytes ou segment.ms), indépendamment des paramètres de rétention locaux. Une fois les segments copiés vers le stockage hiérarchisé, ils restent dans le stockage principal jusqu'à ce que les seuils local.retention.ms ou local.retention.bytes soient atteints. À ce stade, les données sont supprimées du stockage principal mais restent disponibles dans le stockage hiérarchisé. Cela vous permet de conserver les données récentes sur le stockage principal à hautes performances pour un accès rapide, tandis que les données plus anciennes sont traitées à partir du stockage hiérarchisé à faible coût.

  • Lorsqu'Apache Kafka copie un message d'un segment de journal vers un stockage hiérarchisé, il le supprime du cluster en fonction des paramètres retention.ms ou retention.bytes.

Exemple de scénario de stockage hiérarchisé Amazon MSK

Ce scénario illustre le comportement d'une rubrique existante contenant des messages dans le stockage principal lorsque le stockage hiérarchisé est activé. Pour activer le stockage hiérarchisé sur ce sujet, vous devez définir remote.storage.enable sur true. Dans cet exemple, retention.ms est défini sur 5 jours et local.retention.ms est défini sur 2 jours. Voici la suite des événements lorsqu'un segment expire.

Temps T0 - Avant d'activer le stockage hiérarchisé.

Avant d'activer le stockage hiérarchisé pour cette rubrique, il existe deux segments de journal. L'un des segments est actif pour une partition de rubrique 0 existante.

Temps T0 - Avant d'activer le stockage hiérarchisé.
Temps T1 (< 2 jours) - Stockage hiérarchisé activé. Segment 0 copié vers le stockage hiérarchisé.

Après avoir activé le stockage hiérarchisé pour cette rubrique, Apache Kafka copie le segment 0 du journal fermé vers le stockage hiérarchisé dès sa fermeture. Le segment se ferme en fonction des paramètres segment.bytes ou segment.ms, et non en fonction des paramètres de rétention. Apache Kafka en conserve également une copie dans le stockage principal. Le segment 1 actif ne peut pas encore être copié vers un stockage hiérarchisé car il est toujours actif et n'est pas fermé. Dans cette chronologie, Amazon MSK n'applique encore aucun des paramètres de rétention pour les messages des segments 0 et 1. (local.rétention). bytes/ms, retention.ms/bytes)

Temps T1 (< 2 jours) - Stockage hiérarchisé activé. Segment 0 copié vers le stockage hiérarchisé.
Temps T2 - Conservation locale en vigueur.

Après 2 jours, le seuil de rétention local est atteint pour le segment 0. C'est le paramétrage de local.retention.ms sur 2 jours qui détermine cela. Le segment 0 est désormais supprimé du stockage principal, mais il reste disponible dans le stockage hiérarchisé. Notez que le segment 0 était déjà copié vers le stockage hiérarchisé à l'heure T1 lors de sa fermeture, et non à l'heure T2 lorsque la rétention locale a expiré. Le segment 1 actif n'est pas encore éligible à la suppression ni à la copie vers un stockage hiérarchisé, car il est toujours actif.

Temps T2 - Conservation locale en vigueur.
Temps T3 - Conservation globale en vigueur.

Après 5 jours, les paramètres de conservation prennent effet et Kafka efface le segment 0 du journal et les messages associés du stockage hiérarchisé. Le segment 1 n'est pas encore éligible à l'expiration ni à la copie sur un stockage hiérarchisé, car il est actif. Le segment 1 n'est pas encore fermé, il n'est donc pas éligible au déploiement de segment.

Temps T3 - Conservation globale en vigueur.