構成模式



軟體構成是指構建軟體產品的方式。它基本上涉及高階軟體架構圖,其中軟體的不同模組將為了特定的業務目標而進行通訊。在本章中,我們將學習組織中廣泛使用的不同軟體構成模式。在微服務中,我們將每個功能拆分成一個程序。這些服務中的每一個都將是獨立的,並且具有全棧特性。

功能分解在構建微服務中發揮著重要作用。它為您的應用程式提供了敏捷性、靈活性和可擴充套件性。

聚合器模式

聚合器模式是開發微服務時可以實現的最簡單的 Web 模式。在此構成模式中,一個簡單的 Web 模組將充當負載均衡器,這意味著它將根據需要呼叫不同的服務。下圖描述了一個帶有聚合器設計的簡單微服務 Web 應用程式。如下圖所示,“聚合器”負責逐一呼叫不同的服務。如果我們需要對服務 A、B 和 C 的結果應用任何業務邏輯,那麼我們可以在聚合器本身中實現業務邏輯。

Aggregator Pattern

聚合器可以再次作為另一個服務公開給外部世界,並在需要時被其他人使用。在開發聚合器模式 Web 服務時,我們需要記住我們的每個服務 A、B 和 C 都應該有自己的快取層,並且應該具有全棧特性。

代理模式

代理微服務模式是聚合器模型的一個變體。在此模型中,我們將使用代理模組而不是聚合模組。代理服務可以分別呼叫不同的服務。

Proxy Pattern

在代理模式中,我們可以透過提供一個虛擬代理層來構建一層額外的安全性。此層的作用類似於介面。

鏈式模式

顧名思義,這種型別的組合模式將遵循鏈式結構。在這裡,我們不會在客戶端和服務層之間使用任何東西。相反,我們將允許客戶端直接與服務通訊,並且所有服務將以這樣的方式連結起來:一個服務的輸出將成為下一個服務的輸入。下圖顯示了一個典型的鏈式模式微服務。

Chained Pattern

此架構的一個主要缺點是,在整個過程完成之前,客戶端將被阻塞。因此,強烈建議將鏈的長度保持儘可能短。

分支微服務模式

分支微服務是聚合器模式和鏈式模式的擴充套件版本。在此設計模式中,客戶端可以直接與服務通訊。此外,一個服務可以同時與多個服務通訊。以下是分支微服務的示意圖。

Branch Microservice Pattern

分支微服務模式允許開發人員動態配置服務呼叫。所有服務呼叫都將以併發方式發生,這意味著服務 A 可以同時呼叫服務 B 和 C。

共享資源模式

共享資源模式實際上是前面提到的所有模式的集合。在此模式中,客戶端或負載均衡器將在需要時直接與每個服務通訊。這是大多陣列織廣泛採用的最有效的開發模式。以下是共享資源設計模式的示意圖。

Shared Resource Pattern
廣告
© . All rights reserved.