qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問(wèn) http://qaseven.github.io/

          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ù)

          <2012年7月>
          24252627282930
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 平顶山市| 威信县| 桃源县| 山丹县| 沙雅县| 来凤县| 崇信县| 江西省| 南华县| 凉山| 沭阳县| 临泉县| 西华县| 昆明市| 梓潼县| 上蔡县| 大渡口区| 合阳县| 聂荣县| 江西省| 鄂尔多斯市| 江口县| 荆州市| 安图县| 乌兰县| 昆明市| 上饶县| 青海省| 漳平市| 西青区| 巫山县| 鄂托克前旗| 黄陵县| 邢台县| 崇仁县| 洞口县| 雷波县| 化隆| 铁力市| 响水县| 淅川县|