docker 容器集群管理平台
web、資料庫、快取、訊息佇列
虛擬機器彈性能力較弱,部署效率低,人為干預較多,可靠性差
預留大量機器和服務例項,資源沒有得到充分使用產生浪費
分布式系統的核心理念是讓多台伺服器協同工作,完成單台伺服器無法處理的任務,尤其是高併發或者大資料量的任務。
所有伺服器一律不要機箱;主機板完全定製,只要最基本的元件,早期的定製主機板連電源開關和usb介面都不要;在主機板上加裝隔離帶把cpu單獨隔出來,讓冷風只吹cpu,不吹記憶體、硬碟等不需要降溫的元件,最大限度降低冷卻電力消耗。
橫向可擴充套件性(scale out)是指通過增加伺服器數量來提公升集群整體效能。縱向可擴充套件性(scale up)是指提公升每台伺服器效能進而提公升集群整體效能。縱向可擴充套件性的上限非常明顯,單台伺服器的效能不可能無限提公升,而且跟伺服器效能相比,網路開銷才是分布式系統最大的瓶頸。橫向可擴充套件性的上限空間比較大,集群總能很方便地增加伺服器。而且分布式系統會盡可能保證橫向擴充套件帶來集群整體效能的(準)線性提公升。
分布式系統裡執行的每個應用服務都有多個執行例項跑在多個節點上,每個資料點都有多個備份存在不同的節點上。這樣一來,多個節點同時發生故障,導致某個應用服務的所有例項都掛掉、或某個資料點的多個備份都不可讀的概率大大降低,進而有效防止單點失效。
分布式應用服務最好是設計成無狀態。因為如果應用程式是有狀態的,那麼一旦伺服器宕機就會使得應用服務程式受影響而掛掉,那存在記憶體的資料也就丟失了,這顯然不是高可靠的服務。把應用服務設計成無狀態的,讓程式把需要儲存的資料都儲存在專門的儲存上,這樣應用服務程式可以任意重啟而不丟失資料,方便分布式系統在伺服器宕機後恢復應用服務。
分布式和集群
1 小飯店原來只有乙個廚師,切菜洗菜備料炒菜全乾。後來客人多了,廚房乙個廚師忙不過來,又請了個廚師,兩個廚師都能炒一樣的菜,這兩個廚師的關係是集群。為了讓廚師專心炒菜,把菜做到極致,又請了個配菜師負責切菜,備菜,備料,廚師和配菜師的關係是分布式,乙個配菜師也忙不過來了,又請了個配菜師,兩個配菜師關係...
分布式和集群
集群可以理解為分布式的子集。不管是分布式還是集群,有以下幾點需要注意 高效能 指可以充分利用系統的所提供的能力。高可用 即相當於乙個節點宕機,有其他節點可以提供相同的服務,給予外界的感覺為系統或者應用一直可用的感覺。需要著重理解 共享磁碟 概念。我們可以想象下,我們的系統是乙個集群或者分布式的,那麼...
分布式和集群
小飯店原來只有乙個廚師,切菜洗菜備料炒菜全乾。後來客人多了,廚房乙個廚師忙不過來,又請了個廚師,兩個廚師都能炒一樣的菜,兩個廚師的關係是集群。為了讓廚師專心炒菜,把菜做到極致,再請了個配菜師負責切菜,備菜,備料 廚師和配菜師的關係是分布式。乙個配菜師也忙不過來了,又請了個配菜師,兩個配菜師關係是集群...