一、前言

  前面分析了Zookeeper對(duì)請(qǐng)求的處理,本篇博文接著分析Zookeeper中如何對(duì)底層數(shù)據(jù)進(jìn)行存儲(chǔ),數(shù)據(jù)存儲(chǔ)被分為內(nèi)存數(shù)據(jù)存儲(chǔ)于磁盤數(shù)據(jù)存儲(chǔ)。

二、數(shù)據(jù)與存儲(chǔ)

  2.1 內(nèi)存數(shù)據(jù)

  Zookeeper的數(shù)據(jù)模型是樹結(jié)構(gòu),在內(nèi)存數(shù)據(jù)庫(kù)中,存儲(chǔ)了整棵樹的內(nèi)容,包括所有的節(jié)點(diǎn)路徑、節(jié)點(diǎn)數(shù)據(jù)、ACL信息,Zookeeper會(huì)定時(shí)將這個(gè)數(shù)據(jù)存儲(chǔ)到磁盤上。

  1. DataTree

  DataTree是內(nèi)存數(shù)據(jù)存儲(chǔ)的核心,是一個(gè)樹結(jié)構(gòu),代表了內(nèi)存中一份完整的數(shù)據(jù)。DataTree不包含任何與網(wǎng)絡(luò)、客戶端連接及請(qǐng)求處理相關(guān)的業(yè)務(wù)邏輯,是一個(gè)獨(dú)立的組件。

  2. DataNode

  DataNode是數(shù)據(jù)存儲(chǔ)的最小單元

網(wǎng)友評(píng)論