ChaperoneKafka 審計(jì)系統(tǒng)
作為 Kafka 審計(jì)系統(tǒng),Chaperone 監(jiān)控?cái)?shù)據(jù)流的完整性和延遲。審計(jì)指標(biāo)持久存儲(chǔ)在數(shù)據(jù)庫中,供 Kafka 用戶量化其主題的損失。
Chaperone 的目標(biāo)是在數(shù)據(jù)流經(jīng)數(shù)據(jù)管道的每個(gè)階段,能夠抓住每個(gè)消息,統(tǒng)計(jì)一定時(shí)間段內(nèi)的數(shù)據(jù)量,并盡早準(zhǔn)確地檢測出數(shù)據(jù)的丟失、延遲和重復(fù)情況。
Chaperone 由幾個(gè)部分組成:
ChaperoneClient是一個(gè)庫,可以像 Kafka 生產(chǎn)者或消費(fèi)者一樣審計(jì)郵件。 審計(jì)統(tǒng)計(jì)被發(fā)送到專用的 Kafka 主題,例如'chaperone-audit'。
ChaperoneCollector 使用'chaperone-audit' 的審計(jì)統(tǒng)計(jì)信息,并將其保存到數(shù)據(jù)庫中。
ChaperoneService 審計(jì)保存在 Kafka 中的消息。 由于它是基于 uReplicator 構(gòu)建的,它由兩個(gè)子系統(tǒng)組成:ChaperoneServiceController,用于自動(dòng)檢測 Kafka 中的主題,并將主題分區(qū)分配給工作人員進(jìn)行審計(jì); ChaperoneServiceWorker 從指定的主題分區(qū)審核消息。 特別地,ChaperoneService 和 ChaperoneCollector 一起確保每個(gè)消息被審核一次。
