自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

兩地三中心,如何部署奇數(shù)個(gè)節(jié)點(diǎn)?

開發(fā) 前端
異地備份的機(jī)房,level上自然就比同城雙活的兩個(gè)機(jī)房低了一個(gè)檔次,否則也不會(huì)淪為備胎。辯證的看待這個(gè)問題,我們就能夠自如的處理感情上腳踏多只船的問題。

[[433932]]

文末本文轉(zhuǎn)載自微信公眾號(hào)「小姐姐味道」,作者小姐姐養(yǎng)的狗。轉(zhuǎn)載本文請(qǐng)聯(lián)系小姐姐味道公眾號(hào)。

兩地三中心,是有錢的公司,為保障數(shù)據(jù)安全和高可用,一個(gè)常見的需求,通常指的是 “同城雙活,異地備份”。

2 + 1 = 3,從描述上來看,就知道它們之間是有階級(jí)屬性的。

異地備份的機(jī)房,level上自然就比同城雙活的兩個(gè)機(jī)房低了一個(gè)檔次,否則也不會(huì)淪為備胎。辯證的看待這個(gè)問題,我們就能夠自如的處理感情上腳踏多只船的問題。

1. 部署結(jié)構(gòu)

為了描述方便,我們把同城的兩個(gè)機(jī)房,稱為A和B。把可憐的備份機(jī)房,稱作機(jī)房C。

同城的兩個(gè)機(jī)房,距離上自然就近了一些。我們可以用圖直觀的表示一下這個(gè)距離差異。

所以這個(gè)備份機(jī)房,非常的沒有存在感。實(shí)際上,它也非常的有自知之明,只把自己放在一個(gè)備份的場(chǎng)景,能夠接受非常大的請(qǐng)求延遲和比較長(zhǎng)的數(shù)據(jù)不一致窗口。

這么算下來,就只剩下A和B兩位陪你玩了,此之為雙活。

2. 奇數(shù)節(jié)點(diǎn)的意義

雙活的意思,是兩個(gè)機(jī)房要同時(shí)對(duì)外提供服務(wù)。運(yùn)行在不同機(jī)房的服務(wù),分為兩種,一種是有狀態(tài)的,一種是無狀態(tài)的。

無狀態(tài)的服務(wù),由于自身并不存儲(chǔ)數(shù)據(jù),只是作為傳話筒,處理上自然行云流水,沒什么值得好討論的。

難搞的是有狀態(tài)的服務(wù)。即使它像魚一樣記憶只有5秒,這部分記憶依然會(huì)對(duì)整個(gè)系統(tǒng)提出了高標(biāo)準(zhǔn)的要求------

我們需要有個(gè)集中的地方來存儲(chǔ)這些數(shù)據(jù)。

大家都是搞技術(shù)的,那就舉例幾個(gè)常見的組件。

Zookeeper動(dòng)物園,需要做集中的配置中心或者分布式協(xié)調(diào)工作

Redis Cluster需要處理一些全局的緩存數(shù)據(jù)

ElasticSearch進(jìn)行數(shù)據(jù)存儲(chǔ)

無數(shù)個(gè)案例告訴我們,要部署這些服務(wù),得部署奇數(shù)個(gè)節(jié)點(diǎn)才行。為什么不能部署偶數(shù)個(gè)?因?yàn)橛袀€(gè)腦殘的問題,那就是腦裂。

我們拿Zookeeper來說,假如我們部署了6個(gè)節(jié)點(diǎn),那么你要兩個(gè)集群能夠可用,需要至少4個(gè)存活才行。你要是設(shè)置成了3個(gè),那它就會(huì)出現(xiàn)問題。

如下圖,在6個(gè)節(jié)點(diǎn)的場(chǎng)景中,A和B機(jī)房網(wǎng)絡(luò)產(chǎn)生了閃斷。A機(jī)房的三個(gè)節(jié)點(diǎn)發(fā)現(xiàn)不能再連接B機(jī)房的節(jié)點(diǎn),于是它們?nèi)齻€(gè)自己組個(gè)集群,并寫入了 a = 100, b = 300兩條數(shù)據(jù);同理,B機(jī)房也組了個(gè)局,寫入了a = 100, b = 600兩條記錄。

而且它們都寫成功了。

一個(gè)集群變成了兩個(gè),并寫入了不同的數(shù)據(jù)。那我到底以誰的數(shù)據(jù)為準(zhǔn)呢?真是要了命。

這就是腦裂問題,我們不能把集群要求的最小節(jié)點(diǎn)設(shè)置成3,而是起碼要為4。

所以你看不管是ES還是raft協(xié)議,不管是paxos和zab,都推薦部署奇數(shù)個(gè)節(jié)點(diǎn),然后把最小可用集群節(jié)點(diǎn)設(shè)置成 (n / 2 + 1) --- 此所謂有一半以上節(jié)點(diǎn)投票才成,且有更好的容錯(cuò)性。

3. 如何部署奇數(shù)個(gè)節(jié)點(diǎn)

那這個(gè)問題該如何解決呢?

假如是同城三活,那么我們只需要在每個(gè)機(jī)房部署一個(gè)節(jié)點(diǎn)就可以了。但即使是雙活,都是公司非常有錢才能搞得起。現(xiàn)在搞個(gè)三活,你大概率會(huì)贏得老板一個(gè)心虛的白眼。

當(dāng)然也可以采用 2 + 2 + 1的模式。

找不到一個(gè)專用的機(jī)房部署一套集群,但找?guī)讉€(gè)第三方的服務(wù)器,部署一下我們的幾個(gè)服務(wù)節(jié)點(diǎn)倒是可以的。

聽起來很美好,但實(shí)際上不會(huì)這么做。因?yàn)檫@批第三方的服務(wù)器,對(duì)帶寬、延遲 、安全、穩(wěn)定的要求,一點(diǎn)都不低。

還是老老實(shí)實(shí)的在兩個(gè)中心玩吧,野花野草聞著香,但大概率有毒。

實(shí)際上,即使是姐妹花,A和B總是有些差異。只要我們別把A和B看的太對(duì)等,問題就好處理。

如上圖,在A機(jī)房部署3個(gè)節(jié)點(diǎn),在B機(jī)房部署2個(gè)節(jié)點(diǎn)。只要你這么部署了,在你的腦子里,A就是要B的level高一些,雖然你對(duì)外宣稱它們是一樣的。

就像你腳踏兩只船,你和2人說都很愛ta。但一旦ta倆有沖突,你還是會(huì)毫不猶豫的選一個(gè)。

這就是考驗(yàn)。

我們切回上圖,看一下幾種情況。在這種部署情況下,當(dāng)發(fā)生腦裂,B機(jī)房的2個(gè)節(jié)點(diǎn)是無法提供服務(wù)的,所以也不會(huì)有異常數(shù)據(jù)進(jìn)入。

當(dāng)B機(jī)房整個(gè)發(fā)生問題,A機(jī)房還是能夠正常運(yùn)行。

當(dāng)A機(jī)房整個(gè)發(fā)生問題,B機(jī)房此時(shí)只有2個(gè)節(jié)點(diǎn),不滿足最小的3個(gè)節(jié)點(diǎn)。這個(gè)時(shí)候該怎么辦呢?

沒錯(cuò),我們手動(dòng)啟動(dòng)一個(gè)。你看節(jié)點(diǎn)6的邊框是虛線的,也就意味著它是一個(gè)待命狀態(tài),隨時(shí)待命轉(zhuǎn)正,完全的接管A的工作。

代價(jià)也是有的,畢竟A才是你心中的No.1。ta離你而去,給你造成了困擾。自己的選擇,就是含著淚,你也得把B給頂上去。

相信我,不過是小時(shí)段的陣痛,你很快會(huì)再次進(jìn)入雙活的世界。到時(shí)候你是把B當(dāng)作No.1,還是繼續(xù)換回A,都沒有問題。

而且這選擇很沒意義。

比起誰的level高,你想要雙活的根本原因,那就是誰都不相信。所以,就把未來交給薛定諤的貓吧----

誰讓你是個(gè)多情又多疑的程序員呢。

 

作者簡(jiǎn)介:小姐姐味道 (xjjdog),一個(gè)不允許程序員走彎路的公眾號(hào)。聚焦基礎(chǔ)架構(gòu)和Linux。十年架構(gòu),日百億流量,與你探討高并發(fā)世界,給你不一樣的味道。

 

責(zé)任編輯:武曉燕 來源: 小姐姐味道
相關(guān)推薦

2013-07-17 18:18:39

災(zāi)備數(shù)據(jù)集中數(shù)據(jù)中心

2015-12-25 14:22:01

華為

2015-07-02 13:44:19

兩地三中心解決方案南大通用華為

2018-11-07 09:48:55

新華三

2015-09-08 16:41:07

浪潮服務(wù)器工商銀行

2011-09-30 09:57:00

數(shù)據(jù)中心

2011-10-08 13:35:21

數(shù)據(jù)中心

2009-12-07 15:39:08

摩卡

2018-07-09 10:29:31

期貨

2014-05-23 23:09:09

銳捷

2016-12-16 14:55:11

華為

2015-05-04 16:09:54

戴爾云計(jì)算

2020-11-19 11:08:12

高可用架構(gòu)互聯(lián)網(wǎng)

2024-03-28 14:16:43

容災(zāi)云計(jì)算

2019-10-08 18:05:29

浪潮商用機(jī)器

2018-11-30 12:48:36

SDS故障硬件

2018-09-29 13:47:54

三地五中心CIO災(zāi)備

2015-10-27 18:00:16

容災(zāi)數(shù)據(jù)中心華為

2015-08-18 15:37:31

數(shù)據(jù)中心災(zāi)備
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)