瀉藥

看業務類型。

1 如果是前端的應付web訪問高並發的話。並不需要考慮數據同步,只考慮羣集的健康監控,負載演算法平衡。

2 如果是資源類型的業務,可以有分散式存儲,對象存儲這類解決方案。單純內網小規模業務可以用samba共享這樣的存儲共享方式實現。

3 如果是資料庫,可以用數據存儲實現數據一致和安全。也可以通過資料庫羣集項目實現多節點的數據同步。

羣集類型有很多,關鍵看什麼業務類型來選型。


我從高性能計算的角度大概說一下。

此場景下,伺服器節點分為計算節點和IO節點兩種類型,其中計算節點專門負責數據處理和分析,IO節點負責傳輸數據。計算節點通過IO節點對核心存儲設備進行讀寫操作。大致上就是下面這個樣子(我用windows自帶的畫圖工具畫的,6不6 嘎嘎)

管理軟體相當於直接從存儲節點調取數據,所以我感覺不需要考慮數據同步。

也就是幾臺伺服器的計算資源被整合,而存儲節點我們有隻是用其中一臺上面的(別提存儲,這只是個直連的FC-SAN而已)。。。

至於說做集羣的具體步驟。。。

硬體層面估計你要是不明白歡迎私信我,涉及到集羣管理軟體的安裝調試和設置之類的,我也缺乏實際操作案例。。。

不懂喲。


瀉大佬相邀

以上大佬都已經回復很清楚的,我就不再回復了


這要看具體是什麼羣集,負載均衡羣集就不需要,故障轉移羣集一類的可能需要,如果是共享存儲就不用,如sql server故障轉移羣集,而如果是本地存儲,就需要,比如dag。


這樣看你是什麼集羣,是有狀態還是無狀態的集羣

比如web伺服器,app伺服器,db伺服器,中間件伺服器. 都不同的.

  • web伺服器集羣,純粹的靜態文件服務集羣,不需要考慮數據提供
  • app集羣,如果沒有狀態,也可以不考慮集羣
  • db集羣如果你在app裏做了sharding,也可以不考慮集羣,但是要做好備份. 如果db本身是一個比如主從的集羣,那需要考慮數據同步
  • 中間件集羣,大概率是需要考慮數據同步的(如果你自己實現的話).

一般來講,如果你自己實現這種集羣才會考慮,否則如果是用開源組件,數據同步的解決訪問很多都自帶的了.


數據同步肯定是要的,如果你說多臺伺服器光負責運算,後頭就掛一個資料庫,這不算集羣。

集羣的目的就是讓多臺伺服器分享並同步數據以應對更大的流量,關鍵就是單機IO撐不住了。

至於具體步驟就看你的業務需求了,redis cluster, mysql cluster可以搜搜看怎麼用


同步是要的,但具體還要看需求。


推薦閱讀:
相關文章