分布式通過把乙個大型系統拆分不同子系統並分開部署提高了系統的擴充套件性和吞吐量,集群是通過集群管理多個相同的子系統並且保證集群系統的cap(cp或則ap)來提高整個系統的搞可用和高效能。
注:cp和ap
通常分布式和集群是同時存在乙個系統的。通過zookeeper、eureka等元件管理服務和服務的元資料。也有的系統是自身實現分布式集群功能如redis。
一、分布式系統應用的無狀態化
相比單點系統,分布式集群系統有更高的可用性和擴充套件性,但是需要每個系統的無狀態化,保證使用者請求的正確處理。
ps:單點應用會儲存使用者請求資訊和使用者狀態資訊,用來確認使用者身份和儲存使用者狀態資料,假如每次請求都對應到不同伺服器,會導致使用者資料處理失效和錯誤,所以無狀態化可以保證請求**到任何伺服器都會保證資料的正確處理。
二、快取處理
1、快取過期策略
lru(least recently used):最近最長時間不使用原則,是目前最常用的快取淘汰演算法;
lfu(least frequently used):最近最少使用原則;
三、服務註冊與發現
服務註冊和發現原理等同dns,但是分布式服務往往乙個服務有多個例項,具體訪問哪個例項需要通過註冊中心服務來定位和發現。
四、配置中心
服務統一配置項管理中心,方便統一管理配置,並且防止敏感資訊由於打jar或則war包外洩(可以使用安全性高的服務作為配置中心服務)。
五、zookeeper
zookeeper是乙個開源的分布式協同服務系統。解決協同服務的單點問題
zookeeper的使用:下面有三個著名的開源專案使用zookeeper
典型應用場景:
zookeeper使用於儲存和協同相關的關鍵資料,不適用於大資料量儲存
分布式和集群
1 小飯店原來只有乙個廚師,切菜洗菜備料炒菜全乾。後來客人多了,廚房乙個廚師忙不過來,又請了個廚師,兩個廚師都能炒一樣的菜,這兩個廚師的關係是集群。為了讓廚師專心炒菜,把菜做到極致,又請了個配菜師負責切菜,備菜,備料,廚師和配菜師的關係是分布式,乙個配菜師也忙不過來了,又請了個配菜師,兩個配菜師關係...
分布式和集群
集群可以理解為分布式的子集。不管是分布式還是集群,有以下幾點需要注意 高效能 指可以充分利用系統的所提供的能力。高可用 即相當於乙個節點宕機,有其他節點可以提供相同的服務,給予外界的感覺為系統或者應用一直可用的感覺。需要著重理解 共享磁碟 概念。我們可以想象下,我們的系統是乙個集群或者分布式的,那麼...
分布式和集群
小飯店原來只有乙個廚師,切菜洗菜備料炒菜全乾。後來客人多了,廚房乙個廚師忙不過來,又請了個廚師,兩個廚師都能炒一樣的菜,兩個廚師的關係是集群。為了讓廚師專心炒菜,把菜做到極致,再請了個配菜師負責切菜,備菜,備料 廚師和配菜師的關係是分布式。乙個配菜師也忙不過來了,又請了個配菜師,兩個配菜師關係是集群...