第一種:基于本地檔案系統的分布式系統
第二種:基于分布式檔案系統HDFS的分布式系統(共享存儲)
詳細:
第一種:基于本地檔案系統的分布式系統

上圖中是一個基于本地磁盤存儲資料的分布式系統。Index一共有3個Shard,每個Shard除了Primary Shard外,還有一個Replica Shard。當Node 3機器當機或磁盤損壞的時候,首先确認P3已經不可用,重新選舉R3位Primary Shard,此Shard發生主備切換。然後重新找一台機器Node 7,在Node7 上重新啟動P3的新Replica。由于資料都會存在本地磁盤,此時需要将Shard 3的資料從Node 6上拷貝到Node7上。如果有200G資料,千兆網絡,拷貝完需要1600秒。如果沒有replica,則這1600秒内這些Shard就不能服務。
為了保證可靠性,就需要備援Shard,會導緻更多的實體資源消耗。
這種思想的另外一種表現形式是使用雙叢集,叢集級别做備份。
在這種架構中,如果你的資料是在其他存儲系統中生成的,比如HDFS/HBase,那麼你還需要一個資料傳輸系統,将準備好的資料分發到相應的機器上。
這種架構中為了保證可用性和可靠性,需要雙叢集或者Replica才能用于生産環境,優勢和副作用在下面。
副本(Replica)的目的有三個:保證服務可用性:當設定了多個Replica的時候,如果某一個Replica不可用的時候,那麼請求流量可以繼續發往其他Replica,服務可以很快恢複開始服務。保證資料可靠性:如果隻有一個Primary,沒有Replica,那麼當Primary的機器磁盤損壞的時候,那麼這個Node中所有Shard的資料會丢失,隻能reindex了。提供更大的查詢能力:當Shard提供的查詢能力無法滿足業務需求的時候, 可以繼續加N個Replica,這樣查詢能力就能提高N倍,輕松增加系統的并發度。
上面說了一些優勢,這種架構同樣在一些場景下會有些問題。Elasticsearch采用的是基于本地檔案系統,使用Replica保證資料可靠性的技術架構,這種架構一定程度上可以滿足大部分需求和場景,但是也存在一些遺憾:Replica帶來成本浪費。為了保證資料可靠性,必須使用Replica,但是當一個Shard就能滿足處理能力的時候,另一個Shard的計算能力就會浪費。Replica帶來寫性能和吞吐的下降。每次Index或者update的時候,需要先更新Primary Shard,更新成功後再并行去更新Replica,再加上長尾,寫入性能會有不少的下降。當出現熱點或者需要緊急擴容的時候動态增加Replica慢。新Shard的資料需要完全從其他Shard拷貝,拷貝時間較長。上面介紹了Elasticsearch資料層的架構,以及副本政策帶來的優勢和不足,下面簡單介紹了幾種不同形式的分布式資料系統架構。
Elasticsearch使用的就是這種架構方式。其實es也可以用下面的hdfs,但是不适合,延時厲害,是以很少會見到這樣用。
第二種:基于分布式檔案系統的分布式系統(共享存儲)
針對第一種架構中的問題,另一種思路是:存儲和計算分離。
第一種思路的問題根源是資料量大,拷貝資料耗時多,那麼有沒有辦法可以不拷貝資料?為了實作這個目的,一種思路是底層存儲層使用共享存儲,每個Shard隻需要連接配接到一個分布式檔案系統中的一個目錄/檔案即可,Shard中不含有資料,隻含有計算部分。相當于每個Node中隻負責計算部分,存儲部分放在底層的另一個分布式檔案系統中,比如HDFS。
上圖中,Node 1 連接配接到第一個檔案;Node 2連接配接到第二個檔案;Node3連接配接到第三個檔案。當Node 3機器當機後,隻需要在Node 4機器上建立一個空的Shard,然後構造一個新連接配接,連接配接到底層分布式檔案系統的第三個檔案即可,建立連接配接的速度是很快的,總耗時會非常短。
這種是一種典型的存儲和計算分離的架構,優勢有以下幾個方面:
在這種架構下,資源可以更加彈性,當存儲不夠的時候隻需要擴容存儲系統的容量;當計算不夠的時候,隻需要擴容計算部分容量。
存儲和計算是獨立管理的,資源管理粒度更小,管理更加精細化,浪費更少,結果就是總體成本可以更低。
負載更加突出,抗熱點能力更強。一般熱點問題基本都出現在計算部分,對于存儲和計算分離系統,計算部分由于沒有綁定資料,可以實時的擴容、縮容和遷移,當出現熱點的時候,可以第一時間将計算排程到新節點上。
這種架構同時也有一個不足:
通路分布式檔案系統的性能可能不及通路本地檔案系統。在上一代分布式檔案系統中,這是一個比較明顯的問題,但是目前使用了各種使用者态協定棧後,這個差距已經越來越小了。
HBase使用的就是這種架構方式。
Solr也支援這種形式的架構。
作者:阿裡雲雲栖社群
連結:https://www.jianshu.com/p/9cb00b621423
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權并注明出處。