1. 程式人生 > 其它 >分散式叢集微服務

分散式叢集微服務

1、叢集:同一個業務,部署在多個伺服器上。

  • 首先準備一臺響應伺服器,然後由多臺伺服器叢集完成同一個任務,使用負載均衡機制分派請求。

2、分散式:把一個業務拆分成多個子業務,部署在不同的伺服器上。

  • 單一分散式應用的缺點:分散式中的每一個節點完成不同的業務,如果這個節點垮了,這個業務就不能訪問了。
  • 正確的設計方案是:先分散式再叢集

3、分散式和叢集有什麼區別?

  • 叢集是物理形態;分散式是工作方式;分散式和叢集可以同時存在!
  • [本質]分散式是並聯工作,叢集是串聯工作。
簡單說,分散式是以縮短單個任務的執行時間來提升效率的,而叢集則是通過提高單位時間內執行的任務數量來提升效率。
例如:
如果一個任務由10個子任務組成,每個子任務單獨執行需1小時,則在一臺伺服器上執行該任務需10小時。
採用分散式方案,提供10臺伺服器,每臺伺服器只負責處理一個子任務,不考慮子任務間的依賴關係,執行完這個任務只需一個小時。(這種工作模式的一個典型代表就是Hadoop的Map/Reduce分散式計算模型)
而採用叢集方案,同樣提供10臺伺服器,每臺伺服器都能獨立處理這個任務。假設有10個任務同時到達,10個伺服器將同時工作,1小時後,10個任務同時完成,這樣,整身來看,還是1小時內完成一個任務!

4、微服務:將工程結構拆分為一個個小的業務模組,通過介面彼此呼叫,降低程式碼的耦合度,並且能獨立部署執行。

  • 微服務是一種思想,一種架構設計。
  • 當今的網際網路正是,通過架構設計後降低耦合,以及模組拆分部署,以及根據負載壓力決定部署單一業務伺服器的數量,來實現最低成本的解決現階段的大資料高併發的挑戰。

5、微服務和分散式又有什麼區別?

  • 微服務是架構設計方式,分散式是系統部署的工作方式,微服務和分散式也是可以同時存在,而且微服務也往往是使用的分散式部署。
  • 微服務的應用不一定是分散在多個伺服器上,也可以是處在同一個伺服器上。
  • 微服務和分散式設計的目的是不一樣的,分散式是為了提高效能,微服務是為了解耦。