圖1,BranchCache部署示意圖
從本質(zhì)上講,BranchCache就像一個(gè)大文件柜,儲(chǔ)存了本地辦公網(wǎng)絡(luò)的一份內(nèi)容檢索的副本。當(dāng)其它客戶端在同一網(wǎng)絡(luò)上要求這些內(nèi)容時(shí),客戶端就可以快速檢查,并確認(rèn)它在本地的位置。緩存副本相當(dāng)于原件在總公司,但是如果其它客戶端需要的話,可以從其他客戶端通過(guò)速度更快的局域網(wǎng)獲得該文件。內(nèi)容可以是以Web為基礎(chǔ)的,或者是典型的文件和文件夾。出于安全的考慮,可以配置為SSL或IPSec的加密連接。所有的安全是通過(guò)授權(quán)的主機(jī)服務(wù)器來(lái)控制的,而不是在遠(yuǎn)程辦公室里進(jìn)行緩存處理任務(wù)的“小服務(wù)器”來(lái)實(shí)現(xiàn)。
BranchCache可以在以下兩種模式下運(yùn)行:
(一) 分布式緩存。通過(guò)一個(gè)點(diǎn)對(duì)點(diǎn)的架構(gòu):遠(yuǎn)程辦公室的客戶端都使用同事間的緩存。這種方式最適合企業(yè)中比較小的辦公室,沒(méi)有時(shí)間或資源來(lái)管理不同地點(diǎn)的服務(wù)器?;旧?,每個(gè)客戶端都扮演成緩存服務(wù)器角色,機(jī)器間的網(wǎng)絡(luò)偵聽(tīng)是通過(guò)點(diǎn)對(duì)點(diǎn)聯(lián)網(wǎng)來(lái)實(shí)現(xiàn)的。這個(gè)方案要求所有客戶端機(jī)器運(yùn)行的必須是Windows 7。
圖2,分布式緩存模式BranchCache部署
分布式緩存模式BranchCache工作過(guò)程
a) 一個(gè)客戶端計(jì)算機(jī)從主辦公室的BranchCache-enabled的服務(wù)器中下載內(nèi)容。該內(nèi)容在下載完成后,將被添加到一個(gè)位于其硬盤上的緩存中。
b) 之后,第二臺(tái)客戶端向主辦公室的BranchCache-enabled的服務(wù)器請(qǐng)求相同的內(nèi)容。位于主辦公室的BranchCache-enabled 的服務(wù)器返回描述了所請(qǐng)求的內(nèi)容的標(biāo)識(shí)符。該客戶端計(jì)算機(jī)搜索本地網(wǎng)絡(luò)中已經(jīng)下載并緩存了該內(nèi)容的其他計(jì)算機(jī)
c) 第二臺(tái)客戶端計(jì)算機(jī)發(fā)現(xiàn)了第一臺(tái)計(jì)算機(jī)緩存中的內(nèi)容。第二臺(tái)計(jì)算機(jī)從第一臺(tái)計(jì)算機(jī)中下載內(nèi)容
這里面有兩個(gè)問(wèn)題要解決:
1) 如果第一臺(tái)客戶端關(guān)機(jī)了,或者是筆記本用戶出差了,第二臺(tái)客戶端應(yīng)該如何獲取請(qǐng)求內(nèi)容?
答:其上問(wèn)題結(jié)果是這樣的:如果一個(gè)客戶端計(jì)算機(jī)無(wú)法在本地網(wǎng)絡(luò)中找到請(qǐng)求的內(nèi)容,它返回原始服務(wù)器并請(qǐng)求一個(gè)下載。
2) 如果第一臺(tái)客戶端下載的文件,在客戶端本地被修改了,使得客戶端緩存的文件與主辦公室的BranchCache-enabled的服務(wù)器上的文件內(nèi)容不一致了,第二臺(tái)客戶端如何獲知此情況,并應(yīng)作如何處理?
答:我們通過(guò)第二臺(tái)計(jì)算機(jī)的工作步驟來(lái)認(rèn)識(shí)這個(gè)問(wèn)題。
a) 第二臺(tái)客戶端連接到主辦公室的BranchCache-enabled的服務(wù)器(Windows Server 2008 R2操作系統(tǒng)),并且請(qǐng)求一個(gè)文件(或者某個(gè)文件的一部分),和沒(méi)有BranchCache 之前的情形完全一樣。
b) 服務(wù)器驗(yàn)證該用戶并且像正常情況一樣,校驗(yàn)該用戶被授權(quán)訪問(wèn)這些數(shù)據(jù)。
c) 如果服務(wù)器和客戶端都支持BranchCache,并且BranchCache已經(jīng)針對(duì)這些數(shù)據(jù)進(jìn)行了配置,服務(wù)器不返回請(qǐng)求的文件,而是返回對(duì)這些數(shù)據(jù)的散列(即HASH值)。
d) 如果第二臺(tái)客戶端監(jiān)測(cè)到延遲比較高(缺省情況是>80ms),它發(fā)送一個(gè)針對(duì)所請(qǐng)求的文件的請(qǐng)求到它所屬的局域網(wǎng)上的分布式緩存對(duì)等體,該請(qǐng)求使用Web Services Dynamic Discovery (WS-Discovery)組播協(xié)議
e) 如果任何分布式緩存對(duì)等體擁有該數(shù)據(jù)的緩存,它們將其返回給第二臺(tái)客戶端??蛻舳藢@取到的緩存進(jìn)行散列運(yùn)作(得到HASH值),與主辦公室服務(wù)器返回的HASH值,進(jìn)行比對(duì),若兩者相等,則驗(yàn)證這些數(shù)據(jù)沒(méi)有被修改過(guò),如果不相等,它將返回原始服務(wù)器并請(qǐng)求一個(gè)下載
f) 如果沒(méi)有分布式緩存對(duì)等體緩存了該數(shù)據(jù),客戶端將從服務(wù)器上直接得到數(shù)據(jù)??蛻舳私又鴮?duì)該數(shù)據(jù)進(jìn)行緩存,使得其他的客戶端能夠通過(guò)局域網(wǎng)下載該數(shù)據(jù)。
(二)托管緩存模式。通過(guò)客戶端/服務(wù)器架構(gòu):在遠(yuǎn)程辦公室部署一臺(tái)服務(wù)器,以提供快速存取內(nèi)容服務(wù)。這更適合于大公司下運(yùn)營(yíng)良好的中小型分支機(jī)構(gòu)。同時(shí)將資源和行政管理等方面的文件,安放在遠(yuǎn)程的總部服務(wù)器上。這是最安全的部署和配置。
托管式緩存模式使用專門一臺(tái)服務(wù)器用于提供分支結(jié)構(gòu)緩存,其他過(guò)程與分布式緩存類似。其工作過(guò)程如下:
a)一個(gè)客戶端計(jì)算機(jī)從主辦公室的一臺(tái)BranchCache-enabled 服務(wù)器下載內(nèi)容
b)該客戶端將下載的內(nèi)容主動(dòng)通知到設(shè)置在分支結(jié)構(gòu)中,配置了托管緩存服務(wù)的服務(wù)器,使其緩存該內(nèi)容。該服務(wù)器操作系統(tǒng)要求是Windows Server 2008 R2。
c)第二臺(tái)客戶端計(jì)算機(jī)請(qǐng)求相同的內(nèi)容。主辦公室的BranchCache-enabled服務(wù)器返回描述了所請(qǐng)求的內(nèi)容的標(biāo)識(shí)符
d)客戶端計(jì)算機(jī)查詢本地的宿主緩存服務(wù)器,并且下載內(nèi)容
e)如果客戶端計(jì)算機(jī)無(wú)法在宿主緩存服務(wù)器上找到內(nèi)容,它返回到主辦公室的原始服務(wù)器并且請(qǐng)求下載。
在托管緩存模式中也同樣面臨在分布式緩存中存在的兩個(gè)問(wèn)題,解決機(jī)制與之相同,在此不再詳述。
(三)分布式緩存與托管緩存對(duì)比
下面給出分布式緩存與托管緩存的特點(diǎn)對(duì)比,以便各位在企業(yè)設(shè)計(jì)場(chǎng)景中參考
通過(guò)本文的介紹,相信大家對(duì)于Windows Server 2008 R2的分支機(jī)構(gòu)架構(gòu)的規(guī)劃將更加得心應(yīng)手,結(jié)合之前介紹的DirectAccess用戶的對(duì)于資源訪問(wèn)的體驗(yàn)將產(chǎn)生質(zhì)的變化。