Compattazione dei log in Hub eventi di Azure
La compattazione dei log è un modo per conservare i dati in Hub eventi usando la conservazione basata su chiave evento. Per impostazione predefinita, ogni argomento dell'hub eventi/Kafka viene creato con conservazione basata sul tempo o con i criteri di pulizia dell'eliminazione , in cui gli eventi vengono eliminati alla scadenza del tempo di conservazione. Invece di usare la conservazione basata sul tempo più granulare, è possibile usare un meccanismo di conservazione basato su chiave evento in cui Hub eventi ripete il training dell'ultimo valore noto per ogni chiave evento di un hub eventi o un argomento Kafka.
Nota
La funzionalità di compattazione dei log non è supportata nel livello * basic .
Come illustrato nell'immagine seguente, un registro eventi (di una partizione dell'hub eventi) può avere più eventi con la stessa chiave. Se si usa un hub eventi compattato, il servizio Hub eventi si occupa dell'eliminazione di eventi precedenti e mantiene solo gli eventi più recenti di una determinata chiave evento.
Chiave di compattazione
La chiave di partizione impostata con ogni evento viene usata come chiave di compattazione.
Lapidi
L'applicazione client può contrassegnare gli eventi esistenti di un hub eventi da eliminare durante il processo di compattazione. Questi marcatori sono noti come rimozioni definitive. Le applicazioni client impostano la rimozione definitiva inviando un nuovo evento con una chiave esistente e un payload dell'evento null
.
Funzionamento della compattazione dei log
È possibile abilitare la compattazione dei log a livello di argomento hub eventi/Kafka. È possibile inserire eventi in un articolo compattato da qualsiasi protocollo di supporto. Hub eventi di Azure servizio esegue un processo di compattazione per ogni hub eventi compattato. Il processo di compattazione pulisce ogni log delle partizioni dell'hub eventi mantenendo solo l'evento più recente di una determinata chiave evento.
In qualsiasi momento, il registro eventi di un hub eventi compattato può avere una parte pulita e una parte dirty. La parte pulita contiene gli eventi compattati dal processo di compattazione mentre la parte dirty comprende gli eventi che devono ancora essere compattati.
Il servizio Hub eventi gestisce l'esecuzione del processo di compattazione e l'utente non può controllarlo. Di conseguenza, il servizio Hub eventi determina quando avviare la compattazione e la velocità di compattazione di un determinato hub eventi compattato.
Garanzie di compattazione
La funzionalità di compattazione dei log di Hub eventi offre la garanzia seguente:
- L'ordinamento dei messaggi viene sempre mantenuto a livello di chiave e partizione. Il processo di compattazione non modifica l'ordinamento dei messaggi, ma rimuove solo gli eventi precedenti della stessa chiave.
- Il numero di sequenza e l'offset di un messaggio non cambiano mai.
- Qualsiasi consumer che procede dall'inizio del registro eventi visualizza almeno lo stato finale di tutti gli eventi nell'ordine in cui sono stati scritti.
- I consumer possono comunque visualizzare gli eventi contrassegnati per l'eliminazione per l'ora definita da Tombstone Retention Time(hours).
Casi d'uso di compattazione dei log
La compattazione dei log può essere utile negli scenari in cui si trasmette lo stesso set di eventi aggiornabili. Poiché gli hub eventi compattati mantengono solo gli eventi più recenti, gli utenti non devono preoccuparsi della crescita dell'archiviazione degli eventi. Di conseguenza, la compattazione dei log viene comunemente usata in scenari come Change Data Capture(CDC), mantenendo gli eventi nelle tabelle per l'elaborazione di flussi di applicazioni e la memorizzazione nella cache degli eventi.
Quote e limiti
Limite | Basic | Standard | Premium | Dedicato |
---|---|---|---|---|
Dimensioni dell'hub eventi compattato | N/D | 1 GB per partizione | 250 GB per partizione | 250 GB per partizione |
Per altre quote e limiti, vedere Quote e limiti di Hub eventi.
Passaggi successivi
Per istruzioni su come usare la compattazione dei log in Hub eventi, vedere Usare la compattazione dei log