職責鏈模式



問題陳述

微服務架構將應用程式構建為一系列松耦合微服務,每個服務都可以以敏捷方式獨立開發,以實現持續的交付/部署。那麼,如果一個服務需要另一個服務的輸出作為依賴項,該怎麼處理這種情況呢。

解決方案

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

Chain of Responsibilities Design Pattern

缺點

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

廣告