Compactage du journal dans Azure Event Hubs
Le compactage des journaux est un moyen de conserver les données dans Event Hubs à l’aide de la rétention basée sur la clé d’événement. Par défaut, chaque rubrique Event Hub/Kafka est créée avec une stratégie de rétention ou de suppression basée sur le temps, où les événements sont vidés suite à l’expiration de l’heure de rétention. Au lieu d’utiliser une rétention basée sur le temps plus grossière, vous pouvez utiliser un mécanisme de rétention basé sur une clé d’événement où Event Hubs réentraîne la dernière valeur connue pour chaque clé d’événement d’un hub d’événements ou d’une rubrique Kafka.
Notes
La fonctionnalité de compactage du journal n’est pas prise en charge dans le niveau *De base.
Comme indiqué dans l’image suivante, un journal des événements (d’une partition Event Hub) peut contenir plusieurs événements avec la même clé. Si vous utilisez un hub d’événements compacté, le service Event Hubs se chargera de vider les anciens événements et de ne conserver que les derniers événements d’une clé d’événement donnée.
Clé de compactage
La clé de partition que vous définissez avec chaque événement est utilisée comme clé de compactage.
Objet tombstone
L’application cliente peut marquer les événements existants d’un hub d’événements à supprimer pendant le travail de compactage. Ces marqueurs sont appelés Objets tombstone. Les applications clientes définissent des objets tombstone en envoyant un nouvel événement avec une clé existante et une charge utile d’événement null
.
Fonctionnement de compactage de journaux
Vous pouvez activer le compactage des journaux à chaque niveau de rubrique Event Hub/Kafka. Vous pouvez ingérer des événements dans un article compacté à partir de n’importe quel protocole de support. Azure Event Hubs service exécute un travail de compactage pour chaque hub d’événements compacté. Le travail de compactage nettoie chaque journal de partition de hub d’événements en conservant uniquement le dernier événement d’une clé d’événement donnée.
À tout moment, le journal des événements d’un hub d’événements compacté peut avoir une partie nettoyée et une partie sale. La partie propre contient les événements qui sont compactés par le travail de compactage, tandis que la partie sale comprend les événements qui ne sont pas encore compactés.
Le service Event Hubs gère l’exécution du travail de compactage et l’utilisateur ne peut pas le contrôler. Par conséquent, le service Event Hubs détermine quand démarrer le compactage et la vitesse à laquelle il compacte un hub d’événements compacté donné.
Garanties de compactage
La fonctionnalité de compactage des journaux d’Event Hubs offre la garantie suivante :
- L’ordre des messages est toujours conservé au niveau de la clé et de la partition. Le travail de compactage ne modifie pas l’ordre des messages, mais il ignore simplement les anciens événements de la même clé.
- Le numéro de séquence et le décalage d’un message ne changent jamais.
- Tout consommateur progressant à partir du début du journal des événements voit au moins l’état final de tous les événements dans l’ordre dans lequel ils ont été écrits.
- Les consommateurs peuvent toujours voir les événements marqués pour être supprimés pendant la durée définie par le Temps de rétention Tombstone (heures).
Cas d’utilisation du compactage des journaux
Le compactage des journaux peut être utile dans les scénarios où vous diffusez en continu le même ensemble d’événements pouvant être mis à jour. Comme les hubs d’événements compactés conservent uniquement les derniers événements, les utilisateurs n’ont pas besoin de se soucier de la croissance du stockage d’événements. Par conséquent, le compactage des journaux est couramment utilisé dans des scénarios tels que la capture de données modifiées (CDC), la gestion des événements dans les tables pour les applications de traitement de flux et la mise en cache d’événements.
Quotas et limites
Limite | De base | standard | Premium | Dédié |
---|---|---|---|---|
Taille du hub d’événements compacté | N/A | 1 Go par partition | 250 Go par partition | 250 Go par partition |
Pour d’autres quotas et limites, consultez Quotas et limites de Azure Event Hubs.
Étapes suivantes
Pour obtenir des instructions sur l’utilisation du compactage des journaux dans Event Hubs, consultez Utiliser le compactage des journaux