
- 微服務架構教程
- 微服務架構 - 首頁
- 介紹
- 微服務架構 - 擴充套件
- 微服務架構 - 藍圖
- 不同元素
- 組合模式
- SOA 實踐
- MSA 實踐
微服務架構 - 擴充套件
擴充套件是一個將軟體分解成不同單元的過程。擴充套件也以可擴充套件性來定義。可擴充套件性是指實施應用程式更高階功能的潛力。它有助於提高應用程式的安全性、永續性和可維護性。行業中遵循三種類型的擴充套件程式。以下是不同的擴充套件方法以及相應的現實生活示例。
X 軸擴充套件
X 軸擴充套件也稱為水平擴充套件。在此過程中,整個應用程式被細分為不同的水平部分。通常,任何 Web 伺服器應用程式都可以具有這種型別的擴充套件。考慮一個遵循水平擴充套件的普通 MVC 架構,如下面的圖所示。

例如,我們可以考慮任何 JSP servlet 應用程式。在此應用程式中,控制器控制每個請求,並在必要時透過與模型通訊來生成檢視。通常,單體應用程式遵循此擴充套件方法。X 軸擴充套件本質上非常基礎,並且非常省時。在此方法中,一個軟體將根據其負責的不同任務進行擴充套件。例如,控制器負責控制傳入和傳出請求,檢視負責向瀏覽器中的使用者呈現業務功能,而模型負責儲存我們的資料,並充當資料庫。
Y 軸擴充套件
Y 軸擴充套件也稱為垂直擴充套件,包括任何資源級別擴充套件。任何 DBaaS 或 Hadoop 系統都可以被認為是 Y 軸擴充套件。在這種型別的擴充套件中,使用者請求透過實施某些邏輯來重定向和限制。
讓我們以 Facebook 為例。Facebook 每秒需要處理 179 萬用戶;因此,控制流量是 Facebook 網路工程師的巨大責任。為了克服任何危害,他們遵循 Y 軸擴充套件,其中包括同時執行多個具有相同應用程式的伺服器。現在,為了控制這種巨大級別的流量,Facebook 將來自一個區域的所有流量重定向到特定的伺服器,如影像所示。從架構語言的角度來看,這種基於區域的流量轉移稱為負載平衡。

這種將資源分解成小的獨立業務單元的方法稱為 Y 軸擴充套件。
Z 軸擴充套件
X 和 Y 軸擴充套件非常容易理解。但是,一個應用程式也可以在業務級別進行擴充套件,這稱為 Z 軸擴充套件。以下是將出租車服務應用程式擴充套件到不同業務部門垂直領域的示例。

擴充套件的優勢
成本 - 正確擴充套件軟體將降低維護成本。
效能 - 由於松耦合,正確擴充套件的軟體的效能始終優於未擴充套件的軟體。
負載分配 - 使用不同的技術,我們可以輕鬆地維護我們的伺服器負載。
重用 - 軟體的可擴充套件性也提高了軟體的可用性。