SQL Server復(fù)制入門(mén)----復(fù)制的幾種模式
發(fā)布-訂閱的復(fù)制模式
這種模式使得發(fā)布服務(wù)器也是訂閱服務(wù)器,如圖3所示。
圖3.發(fā)布-訂閱復(fù)制模式
這種模式適用于服務(wù)器A和服務(wù)器B的網(wǎng)絡(luò)非常昂貴但服務(wù)器B和各個(gè)訂閱服務(wù)器的網(wǎng)絡(luò)成本很低的情況。比如,公司的總部在北京,服務(wù)器A在北京,服務(wù)器B是上海分公司的,各個(gè)訂閱服務(wù)器通過(guò)局域網(wǎng)和服務(wù)器B進(jìn)行連接。在這個(gè)例子中,服務(wù)器A和服務(wù)器B通過(guò)VPN進(jìn)行連接,這個(gè)費(fèi)用是相當(dāng)昂貴的,而服務(wù)器B和各個(gè)訂閱服務(wù)器通過(guò)局域網(wǎng)連接的成本可以忽略。
以訂閱服務(wù)器為中心的復(fù)制模式
這種模式以訂閱服務(wù)器為中心,如圖4所示。
圖4.以訂閱服務(wù)器為中心復(fù)制模式
這種模式適用的場(chǎng)景比如:各個(gè)區(qū)域?qū)⒏髯缘臉I(yè)務(wù)數(shù)據(jù)匯總到總部這種類型的業(yè)務(wù)場(chǎng)景。
多個(gè)發(fā)布服務(wù)器和多個(gè)訂閱服務(wù)器的復(fù)制模式
這種模式適用于數(shù)據(jù)對(duì)等的環(huán)境,一個(gè)簡(jiǎn)化的版本如圖5所示。
圖5.多個(gè)發(fā)布服務(wù)器和多個(gè)訂閱服務(wù)器 簡(jiǎn)介
本篇文章根據(jù)發(fā)布服務(wù)器,分發(fā)服務(wù)器和訂閱服務(wù)器的組織方式和復(fù)制類型來(lái)講述常用復(fù)制的幾種模式。
模式的選擇
選擇復(fù)制的模式取決于多個(gè)方面。首先需要考慮具體的業(yè)務(wù)需求,在此之后還需要考慮硬件和網(wǎng)絡(luò)的限制。對(duì)于業(yè)務(wù)需求來(lái)說(shuō)考慮的角度可以分為兩個(gè)部分:自治和延時(shí)。自治是指”數(shù)據(jù)不被影響的程度”,比如說(shuō)一個(gè)業(yè)務(wù)場(chǎng)景:公司的總部在北京,發(fā)布服務(wù)器和分發(fā)服務(wù)器全在總部,各個(gè)地區(qū)的分部有訂閱服務(wù)器,使用快照復(fù)制來(lái)接收推送訂閱總部每個(gè)月一次的公司員工通訊錄。在這個(gè)業(yè)務(wù)場(chǎng)景中,訂閱服務(wù)器僅僅是接收發(fā)布服務(wù)器發(fā)布的通訊錄信息,對(duì)于這些信息的修改是不會(huì)回傳給總部服務(wù)器的,這個(gè)業(yè)務(wù)場(chǎng)景的自治程度就是非常低的。而對(duì)于延時(shí)來(lái)說(shuō),就是”在發(fā)布服務(wù)器上的數(shù)據(jù)修改應(yīng)用到訂閱服務(wù)器上的時(shí)間”,比如還是上面那個(gè)例子,每次訂閱服務(wù)器的訂閱周期是一個(gè)月,在此期間總部的通訊錄可能經(jīng)過(guò)了多次修改,但一個(gè)月以后才會(huì)同步到訂閱服務(wù)器,那么這種場(chǎng)景的延時(shí)是非常高的。
其次就是硬件和網(wǎng)絡(luò)的限制,比如將發(fā)布服務(wù)器和分發(fā)服務(wù)器設(shè)置在一臺(tái)服務(wù)器上,在現(xiàn)有的情況下CPU是否能夠承受這些負(fù)擔(dān)?或是使用快照復(fù)制,發(fā)布服務(wù)器和訂閱服務(wù)器之間的網(wǎng)絡(luò)寬帶是否能夠承受在一定發(fā)布周期內(nèi)的數(shù)據(jù)量傳輸?
在簡(jiǎn)單了解了模式選擇的標(biāo)準(zhǔn)后,下面我們來(lái)看常用的幾種復(fù)制模式。
以發(fā)布服務(wù)器為中心的復(fù)制模式
這種模式多個(gè)訂閱服務(wù)器以一個(gè)發(fā)布服務(wù)器為中心進(jìn)行訂閱,如圖1所示。
圖1.多個(gè)訂閱服務(wù)器以發(fā)布服務(wù)器為中心的模式
這種模式也是復(fù)制模式中最簡(jiǎn)單的模式,這種模式可以使用快照發(fā)布和事務(wù)發(fā)布。不難看出,這種情景的自治性是比較低的,因此這種模式適用于以下幾種業(yè)務(wù)場(chǎng)景。
● 訂閱服務(wù)器用于報(bào)表生成.
● 發(fā)布服務(wù)器用來(lái)發(fā)布類似前文所說(shuō)的員工通訊錄,產(chǎn)品資料等主(Master)信息
● 使用事務(wù)發(fā)布,使得訂閱服務(wù)器承擔(dān)部分負(fù)載
● 在發(fā)布服務(wù)器Down了以后,作為緊急備用服務(wù)器
當(dāng)然,這種模式的缺陷也是顯而易見(jiàn)的。
● 首先是發(fā)布服務(wù)器和分發(fā)服務(wù)器在同一臺(tái)服務(wù)器上對(duì)CPU和內(nèi)存的消耗服務(wù)器硬件是否能夠承受是一個(gè)問(wèn)題
● 在OLTP環(huán)境中如果每天要修改的數(shù)據(jù)量過(guò)大,比如超過(guò)10%,那么需要傳送到的訂閱服務(wù)器的數(shù)據(jù)量過(guò)大也是不得不考慮的一個(gè)問(wèn)題
以發(fā)布服務(wù)器和分發(fā)服務(wù)器為中心的復(fù)制模式
這種模式其實(shí)和上一種模式區(qū)別不大,只是分離了發(fā)布服務(wù)器和分發(fā)服務(wù)器,如圖2所示。
圖2.以發(fā)布服務(wù)器和分發(fā)服務(wù)器為中心的復(fù)制模式
這種模式是將分發(fā)任務(wù)對(duì)CPU,內(nèi)存和網(wǎng)絡(luò)帶來(lái)的負(fù)載轉(zhuǎn)移到另一臺(tái)分發(fā)服務(wù)器了。從而減輕發(fā)布服務(wù)器的壓力和支持更多的訂閱服務(wù)器。此外,我們知道一個(gè)分發(fā)服務(wù)器支持多個(gè)發(fā)布服務(wù)器的,因此也可以多個(gè)發(fā)布服務(wù)器使用一個(gè)分發(fā)服務(wù)器。
這種模式還有一個(gè)好處是可以將分發(fā)服務(wù)器放到DMZ區(qū)域和訂閱服務(wù)器連接以避免發(fā)布服務(wù)器直接暴漏在外網(wǎng)。
當(dāng)然了,這種模式最重要的一點(diǎn)是發(fā)布服務(wù)器和分發(fā)服務(wù)器一定要有可靠的網(wǎng)絡(luò)連接,這種模式和圖1提到的第一種模式適用的業(yè)務(wù)場(chǎng)景基本一致。
這種模式非常適合業(yè)務(wù)數(shù)據(jù)對(duì)等的環(huán)境,比如說(shuō)這類業(yè)務(wù)場(chǎng)景,一個(gè)銷售公司在同一個(gè)城市有3個(gè)分店,這三個(gè)分店之間是對(duì)等的,它們之間通過(guò)復(fù)制來(lái)同步庫(kù)存。使得每個(gè)店都可以了解其它分店的庫(kù)存情況。這類業(yè)務(wù)場(chǎng)景適合使用多個(gè)發(fā)布服務(wù)器和多個(gè)訂閱服務(wù)器的復(fù)制模式。
具有可更新訂閱的事務(wù)發(fā)布模式
這種模式非常類似圖1中所說(shuō)的模式,但這種模式允許訂閱服務(wù)器更新數(shù)據(jù)。如圖6所示。
圖6.具有可更新訂閱事務(wù)的發(fā)布模式
在這種模式下,比如訂閱服務(wù)器B更新了數(shù)據(jù),這個(gè)數(shù)據(jù)會(huì)傳送回發(fā)布服務(wù)器,如果發(fā)布服務(wù)器接收了這個(gè)數(shù)據(jù),那么這個(gè)數(shù)據(jù)會(huì)同時(shí)同步到其它訂閱服務(wù)器。
合并發(fā)布模式
合并發(fā)布模式適用于所有服務(wù)器共享一部分?jǐn)?shù)據(jù)的場(chǎng)景,如圖7所示。
圖7.合并發(fā)布模式
這種模式下,每個(gè)服務(wù)器并不是互相訂閱,而是互相共享。這種模式同樣適用于圖5所述的業(yè)務(wù)模式。
總結(jié)
本文講述了復(fù)制的幾種模式以及它們的所適用的一些場(chǎng)景,很多更復(fù)雜的復(fù)制模式大多都是對(duì)以上幾種模式的組合或者拓展。理解上述簡(jiǎn)單的復(fù)制模式是理解復(fù)雜復(fù)制模式的基礎(chǔ)。
posted on 2012-07-11 09:29 順其自然EVO 閱讀(264) 評(píng)論(0) 編輯 收藏 所屬分類: 數(shù)據(jù)庫(kù)