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

Elastic Search跨AZ腦裂問題討論

企業(yè)動態(tài)
AZ(可用區(qū),Availability Zone)這個是AWS發(fā)明的概念,AWS引入可用區(qū)設(shè)計主要是為了提升用戶應(yīng)用程序的高可用性。下面,我們就來談?wù)効鏏Z腦裂問題。

AZ概念

AZ(可用區(qū),Availability Zone)這個是AWS發(fā)明的概念,AWS引入可用區(qū)設(shè)計主要是為了提升用戶應(yīng)用程序的高可用性。因為可用區(qū)與可用區(qū)之間在設(shè)計上是相互獨立的,也就是說它們會有獨立的供電、獨立的網(wǎng)絡(luò)等,這樣假如一個可用區(qū)出現(xiàn)問題時也不會影響另外的可用區(qū)。在一個區(qū)域內(nèi),可用區(qū)與可用區(qū)之間是通過高速網(wǎng)絡(luò)連接,從而保證有很低的延時。

ES腦裂問題

說完可用區(qū),再來看看ES(Elastic Search)主動選舉機制:

elasticsearch集群一旦建立起來以后,會選舉出一個master,其他都為slave節(jié)點。但是具體操作的時候,每個節(jié)點都提供寫和讀的操作。就是說,你不論往哪個節(jié)點中做寫操作,這個數(shù)據(jù)也會分配到集群上的所有節(jié)點中。

這里有某個節(jié)點掛掉的情況,如果是slave節(jié)點掛掉了,那么首先關(guān)心,數(shù)據(jù)會不會丟呢?不會。如果你開啟了replicate,那么這個數(shù)據(jù)一定在別的機器上是有備份的。別的節(jié)點上的備份分片會自動升格為這份分片數(shù)據(jù)的主分片。這里要注意的是這里會有一小段時間的yellow狀態(tài)時間。

如果是主節(jié)點掛掉怎么辦呢?當從節(jié)點們發(fā)現(xiàn)和主節(jié)點連接不上了,那么他們會自己決定再選舉出一個節(jié)點為主節(jié)點。但是這里有個腦裂的問題,假設(shè)有5臺機器,3臺在一個機房,2臺在另一個機房,當兩個機房之間的聯(lián)系斷了之后,每個機房的節(jié)點會自己聚會,推舉出一個主節(jié)點。這個時候就有兩個主節(jié)點存在了,當機房之間的聯(lián)系恢復(fù)了之后,這個時候就會出現(xiàn)數(shù)據(jù)沖突了。

解決的辦法就是設(shè)置參數(shù):

  1. discovery.zen.minimum_master_nodes 

為3(超過一半的節(jié)點數(shù)),那么當兩個機房的連接斷了之后,就會以大于等于3的機房的master為主,另外一個機房的節(jié)點就停止服務(wù)了。

AZ可用 + 腦裂放一塊怎么辦?

其實很難辦,為了做到不腦裂,就要設(shè)置最小可用節(jié)點要超過整個集群的一半。但是同樣,但是這樣做同樣,AZ通信斷了或者掛了一個AZ,整個服務(wù)可能節(jié)點數(shù)就不到集群的一半,服務(wù)就無法使用了,好像AZ的可靠性就沒有起到作用。

AWS是怎么弄的?

看AWS的開發(fā)文檔里面有如下說明:

每個 AWS 區(qū)域都是一個獨立的地理區(qū)域,其中包含多個相互隔離的位置,這些位置稱為可用區(qū)。為避免數(shù)據(jù)損失,并***限度地減少節(jié)點和數(shù)據(jù)中心故障時導(dǎo)致的停機時間,您可以使用 Amazon ES 控制臺,在同一區(qū)域的兩個可用區(qū)之間,分配屬于 Elasticsearch 群集的節(jié)點和副本索引分片。此分配稱為區(qū)域感知。如果啟用區(qū)域感知,則您還必須使用本機 Elasticsearch API 為您的群集創(chuàng)建副本分片。Amazon ES 在可用區(qū)的各節(jié)點之間分配副本,這會增加您的群集的可用性。為群集啟用區(qū)域感知會略微增加網(wǎng)絡(luò)延遲。

Important

區(qū)域感知要求實例數(shù)量為偶數(shù)。所有索引的默認配置均為副本數(shù)量等于 1。如果您為一個索引指定。副本數(shù)量等于 0,則區(qū)域感知不復(fù)制分片到第二個可用區(qū)。如果沒有副本分片,則無需將副本分發(fā)。到第二個可用區(qū),啟用該功能不提供數(shù)據(jù)損失保護。

下圖顯示了啟用區(qū)域感知的四節(jié)點群集。該服務(wù)將所有主索引分片放在一個可用區(qū)中,將所有副本分片放在第二個可用區(qū)中。

啟用區(qū)域感知的四節(jié)點群集

不難看出來,AWS并沒有解決這個問題,而是做了一個取舍,要求兩個AZ節(jié)點數(shù)都為偶數(shù),更多的是為了AZ之間更好的數(shù)據(jù)均衡。

【本文為51CTO專欄作者“大數(shù)據(jù)和云計算”的原創(chuàng)稿件,轉(zhuǎn)載請通過微信公眾號獲取聯(lián)系和授權(quán)】

戳這里,看該作者更多好文

責(zé)任編輯:趙寧寧 來源: 51CTO專欄
相關(guān)推薦

2024-12-19 17:09:55

Redis哨兵模式數(shù)據(jù)庫

2024-04-18 08:00:00

腦裂問題Redis哨兵模式

2025-01-13 00:00:00

配置Redis腦裂

2019-11-29 11:12:56

Zookeeper腦裂選舉算法

2020-10-27 11:50:53

運維Zookeeper腦裂

2022-10-24 00:18:41

Elasticsea分布式數(shù)量

2022-06-20 05:25:54

裂腦Oracle RAC數(shù)據(jù)庫

2022-01-26 08:47:17

部署應(yīng)用分布式

2017-10-18 08:24:11

存儲雙活腦裂風(fēng)險

2024-06-17 08:24:09

2022-10-11 09:27:45

搜索引擎es索引

2024-09-29 08:47:55

2021-07-29 06:56:36

分布式系統(tǒng)腦裂

2022-07-07 07:51:00

數(shù)據(jù)中心存儲層腦裂

2009-12-29 17:21:24

Ubuntu 8.04

2022-10-27 21:32:34

oracle數(shù)據(jù)庫

2023-05-15 08:02:33

Kafka選舉Broker

2017-07-31 09:20:52

Elastic seaKibana數(shù)據(jù)

2010-07-13 15:36:33

2009-10-16 10:17:27

6類布線技術(shù)
點贊
收藏

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