集群-基礎知識(1)

背景

隨著互聯網訪問量的急劇增加,單臺服務器的能力已嚴重不能滿足需求。則需要從兩個方面考慮提高服務能力:1、向上擴展,2、向外擴展

向上擴展的缺點:

1、造價高

2、隨著性能的提高,會在某個臨界點遇到瓶頸,導致性能隨后降低。

向外擴展的優點:

1、造價低

2、提供高并發能力和高可用性

3、可擴展性好。

分類

負載均衡集群(Load Balance)

高可用集群(High Availability Cluster)

高性能集群(High performance computing)

負載均衡集群:由于電信運行商dns的原因,所以不能靠dns來做負載均衡,必須通過前端調度器將請求分發至后端的服務器,以提高并發訪問量。但隨著訪問量的提高,調度器和存儲等的限制,訪問速度會成為瓶頸,所以需對網站進行功能切分,分別做集群,例如門戶網站的分類。為了保證后端服務器提供的內容一致性,網頁的靜態內容使用rsync+inotify的機制做同步。一個web頁面包含多個web對象,而目前的瀏覽器都支持多線程,所以來自客戶端的請求,可能并發多個請求,調度器分發至多個后端服務器,可以提高網頁的打開速度。而調度器具有health check的能力,能將掛了的主機移除,也能將恢復的主機加進集群。

優點:提高并發處理能力

高可用集群:可以提高服務的在線能力、服務可用性。例如有兩臺主機提供web服務,A作為正常提供服務的主機,B作為備用的主機,A不斷地將自己的心跳信息用組播的方式傳遞給B,而B也能去檢查A的心跳信息。當B不能得到A的心跳后,則會通過電源交換機關閉A的電源,并將A的ip地址奪過來,啟動A之前提供的服務,以提高服務的在線能力。若是多臺主機的高可用集群,還可以設置備節點的優先級,來響應主節點掛掉后的動作。

高可用集群傳遞的不只是心跳信息,還有事務信息(優先級等)。而負責協調完成事務的節點叫做DC(節點中的一臺),若DC掛了,則其他主機間推選一個即可。

負載均衡集群和高可用集群的主要區別:

負載均衡集群提供并發處理能力,提供health check

高可用集群提供服務的始終在線能力,提供heartbeat

高性能集群:利用分布式文件系統將復雜問題分解為小問題并行處理。

由于高可用集群的效率不是很高(備份的主機會造成資源浪費),所以需要提高。例如web服務和郵件服務分別在A、B主機啟動,然后它倆互為主備,則可以提高效率。但高可用集群在某一時刻資源只能在一臺主機上啟動。

腦裂:是因為cluster分裂導致的,cluster集群中節點因為處理器忙或者其他原因暫時停止響應時,其他節點可能誤認為該節點“已死”,從而奪取共享磁盤(即資源)的訪問權,此時極有可能假死節點重新對共享文件系統產生讀寫操作,從而導致共享磁盤文件系統損壞。

stonith:爆頭,shoot the other node in the head通過電源交換機切斷檢測不到心跳信息的主機的電源。

隔離:fancing,拒絕某個節點訪問某個資源。分為節點隔離(stonith)和資源隔離。

為了防止集群腦裂,集群節點應該為3或3個以上的奇數個。

其他知識:

DAS:直接附加存儲。內核直接操作塊設備的數據。若不同主機同時訪問同一文件,則會造成寫錯誤。但效率高。

NAS:網絡附加存儲。是文件級別的操作,第一個主機寫數據時會施加鎖,第二個主機就不能寫。性能要比DAS差。


原創文章,作者:黑白子,如若轉載,請注明出處:http://www.www58058.com/9468

(0)
黑白子黑白子
上一篇 2015-11-26 16:39
下一篇 2015-11-26 16:41

相關推薦

  • 馬哥教育網絡班22期+第十一周課程練習

    1、詳細描述一次加密通訊的過程,結合圖示最佳。第一階段:ClientHello:    客戶端(通常是瀏覽器)先向服務器發出加密通信的請求,這被叫做ClientHello請求??蛻舳讼蚍掌魈峁┮韵滦畔ⅲ?nbsp;       支持的協議版本,比如TLS 1.2 &n…

    Linux干貨 2016-12-27
  • 文件、目錄權限

    批量創建新用戶: newusers passwd格式文件 批量創建用戶,必須和/etc/passwd下的文件格式一樣   下面開始批量創建:   首先準備好一個文件:用vi命令建一個user.txt 如圖: 然后用cat user.txt 然后newusers批量創建,cat /etc/passwd查看下: 創建成功 批量修改用…

    Linux干貨 2016-08-04
  • linux同時創建多個目錄

    mkdir -p a_{c,d} b_{c,d} mkdir 同時創建多個文件夾 mkdir -p  mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sb…

    2017-08-28
  • 谷歌三大核心技術(一)The Google File System中文版

    摘要 我們設計并實現了Google GFS文件系統,一個面向大規模數據密集型應用的、可伸縮的分布式文件系統。GFS雖然運行在廉價的普遍硬件設備上,但是它依然了提供災難冗余的能力,為大量客戶機提供了高性能的服務。 雖然GFS的設計目標與許多傳統的分布式文件系統有很多相同之處,但是,我們的設計還是以我們對自己的應用的負載情況和技術環境的分析為基礎的,不管現在還是…

    Linux干貨 2015-04-13
  • python裝飾器

    裝飾器本質是一個裝飾器函數,在不改變一個函數的函數體本身的情況下,實現函數體本身外其他的功能 1.實現一個裝飾器 def ?logger(fn): ? ? ? ? ? ? ? ? ? ? ? ? #裝飾器函數必須只能傳入一個參數,那就是被裝飾函數 ????print(‘in’) ????def wrapper(*args,**kwar…

    Linux干貨 2017-10-23
  • 多方面修復linux系統

    在這篇文章,您將看到以下方面的修復方法: ●內核文件和虛擬 ●grub.conf ●grub目錄 ●boot分區 ●fstab文件 ●root密碼破解   首先,要想很愉快的修復linux啟動的各種問題,就必然要把linux的啟動流程搞清楚。 1. 加載 BIOS 的硬件信息和進行自我測試,并依據設定取得第一個可開機的裝置; 2. 讀取并執行第一個…

    Linux干貨 2016-09-13
欧美性久久久久