摘自網絡的一個比喻很生動:
小飯店原來只有一個廚師,切菜洗菜備料炒菜全干。后來客人多了,廚房一個廚師忙不過來,又請了個廚師,兩個廚師都能炒一樣的菜,這兩個廚師的關系是集群。為了讓廚師專心炒菜,把菜做到極致,又請了個配菜師負責切菜,備菜,備料,廚師和配菜師的關系是分布式,一個配菜師也忙不過來了,又請了個配菜師,兩個配菜師關系是集群。
分布式
- 理解:將不同的業(yè)務分布在不同的服務器。
- 作用:以縮短單個任務的執(zhí)行時間來提升效率的。
- 以電商網站為例,應用場景示例:
分布式數據庫:如數據庫主要分為:訂單、用戶、商品、商家等。將不同業(yè)務的數據庫部署在不同的物理服務器上;或單表數據非常龐大時,橫向拆分數據表。
分布式服務:如用戶管理、商品管理等,這些業(yè)務獨立部署在不同的服務器上,不同業(yè)務之間通過RPC調用。
集群
- 理解:將幾臺服務器集中在一起,實現同一業(yè)務。
- 作用:通過提高單位時間內執(zhí)行的任務數來提升效率。
- 應用場景示例:
應用服務器集群: 以web網站為例,當一臺服務器的處理能力、存儲空間不足時,可以增加一臺(多臺)服務器分擔原有的訪問及存儲壓力,這就組成了應用服務器集群。通過負載均衡調度服務器,將用戶瀏覽器的訪問請求分發(fā)到集群中的任何一臺,如果有更多用戶,就在集群中增加更多的應用服務器。