對復(fù)雜分布式機制的透明隱藏特性
Elasticsearch 是一套分布式系統(tǒng),分布式是為了應(yīng)對大數(shù)據(jù)量,Elasticsearch 為我們隱藏了復(fù)雜的分布式機制,符合開箱即用的特點
分片機制(之前我們隨隨便便就將一些
document插入到 Elasticsearch 集群中了,我們并不關(guān)心數(shù)據(jù)是怎么進行分片的,數(shù)據(jù)到哪個shard中去了,這些都是 Elasticsearch 內(nèi)部幫我們做好的,隱藏了復(fù)雜的實現(xiàn),我們直接用就好了)cluster discovery(集群發(fā)現(xiàn)機制,之前在做集群
status從 "yellow" 轉(zhuǎn) "green" 的實驗中,直接啟動第二個 Elasticsearch 進程,進程作為一個node自動就發(fā)現(xiàn)了集群,并且加入了進去,還接受了部分數(shù)據(jù)(replica shard))shard 負載均衡(假設(shè)現(xiàn)在有 25 個 shard 要分配到 3 個節(jié)點上去,Elasticsearch 會自動進行均勻分配,以保證每個節(jié)點均衡的讀寫負載請求)
垂直擴容與水平擴容
垂直擴容:采購更強大的服務(wù)器,成本非常高昂,而且會有瓶頸。
水平擴容:業(yè)界經(jīng)常采用的方案,采購越來越多的普通服務(wù)器,性能比較一般,但是很多普通服務(wù)器組織在一起,就能構(gòu)成強大的計算和存儲能力。
假設(shè):6 臺服務(wù)器,每臺容納 1 T數(shù)據(jù),數(shù)據(jù)量馬上要增長到 8 T,這時候兩個擴容方案:
(1)垂直擴容:重新購置兩臺服務(wù)器,每臺服務(wù)器的容量是 2 T,替換掉老的兩臺服務(wù)器,那么現(xiàn)在是 6 臺服務(wù)器,總?cè)萘烤褪?4 * 1T + 2 * 2T = 8T
(2)水平擴容:重新購置兩臺服務(wù)器,每臺服務(wù)器的容量是 1 T,直接加入到集群中去,那么現(xiàn)在是 8 臺服務(wù)器,總?cè)萘烤褪?8 * 1T = 8T(業(yè)界幾乎都采用這種方式)
數(shù)據(jù) rebalance
總有某些節(jié)點的負載會重一些,承載的數(shù)據(jù)量和請求量會大一些。當增加或者減少節(jié)點時數(shù)據(jù) rebalance,以保持負載均衡。

master 節(jié)點
管理 Elasticsearch 集群中的元數(shù)據(jù):比如索引的創(chuàng)建和索引的刪除,維護索引元數(shù)據(jù);節(jié)點的增加和移除,維護集群元數(shù)據(jù)。
默認情況下,會自動選擇一臺節(jié)點作為
master節(jié)點。
注意:master 節(jié)點不承載所有的請求,所以不會是一個單點瓶頸。(這句話的意思是說并不是因為它是 master 節(jié)點,所以所有請求都由他來轉(zhuǎn)發(fā),而是每個節(jié)點都有可能被請求到)
節(jié)點對等的分布式架構(gòu)
- 節(jié)點對等,每個節(jié)點都能接收所有請求
- 自動請求路由
- 相應(yīng)收集數(shù)據(jù)
