在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/數(shù)據(jù)庫(kù)/ mongodb 三種集群的區(qū)別(Replica Set / Sharding /

mongodb 三種集群的區(qū)別(Replica Set / Sharding / Master-Slaver)

Replica Set / Sharding / Master-Slaver 三種集群的區(qū)別

回答
編輯回答
尋仙

Master/Slave

先說(shuō)最后一個(gè),是Master/Slave,不是Slaver。這種方式基本上不再推薦使用,只能從Master復(fù)制數(shù)據(jù)到Slave,并不提供高可用,一旦Master結(jié)點(diǎn)出故障就比較難處理。具體細(xì)節(jié)就不說(shuō)了,反正已經(jīng)不推薦使用。

Replica Set

即常說(shuō)的復(fù)制集。復(fù)制集的主要目標(biāo)有幾個(gè):

  • 高可用(主要目標(biāo)):當(dāng)一個(gè)結(jié)點(diǎn)故障時(shí)自動(dòng)切換到其他結(jié)點(diǎn);
  • 數(shù)據(jù)冗余(主要目標(biāo)):數(shù)據(jù)復(fù)制到n個(gè)結(jié)點(diǎn)上,增加數(shù)據(jù)安全性,同時(shí)為高可用提供基礎(chǔ);
  • 功能隔離(次要目標(biāo)):使用不同的結(jié)點(diǎn)隔離某些有特殊需求的功能,比如使用一個(gè)結(jié)點(diǎn)進(jìn)行OLAP運(yùn)算(大規(guī)模資源占用),使用一個(gè)結(jié)點(diǎn)在遠(yuǎn)程做災(zāi)備(性能要求不如本地高),讀寫分離等等;

Sharded Cluster

即分片集。分片集的主要設(shè)計(jì)目標(biāo)是:

  • 水平擴(kuò)展:當(dāng)一臺(tái)服務(wù)器滿足不了需求的時(shí)候,我們可以選擇垂直擴(kuò)展(增加服務(wù)器硬件),它雖然簡(jiǎn)單,但很容易達(dá)到極限,并且面臨成本高等明顯缺點(diǎn)。成本更低的方式是使用n臺(tái)服務(wù)器組成集群來(lái)滿足系統(tǒng)需求。這就是分片集的主要設(shè)計(jì)目標(biāo);
  • 縮短響應(yīng)時(shí)間:因?yàn)榭梢园褦?shù)據(jù)分散到多臺(tái)服務(wù)器上,自然每臺(tái)服務(wù)器的處理壓力減小,處理時(shí)間就會(huì)縮短;

這里會(huì)出現(xiàn)一個(gè)問(wèn)題:假設(shè)每臺(tái)服務(wù)器出故障的機(jī)率是x%,那么n臺(tái)服務(wù)器有一臺(tái)出現(xiàn)故障的機(jī)率就是x% * n,如果不做高可用設(shè)計(jì),集群出現(xiàn)故障的概率就會(huì)隨機(jī)器數(shù)量成正比增長(zhǎng),這在工程上是不能接受的。幸運(yùn)的是我們已經(jīng)有了解決高可用的方案,也就是復(fù)制集。所以MongoDB的分片集群要求每一個(gè)片都是復(fù)制集(當(dāng)然測(cè)試環(huán)境也可以使用單結(jié)點(diǎn),生產(chǎn)環(huán)境不推薦)。

總結(jié)

大概就是這樣,大家的設(shè)計(jì)目標(biāo)不一樣,各做各的事情。

2017年7月7日 05:30