領域驅動架構風格

領域驅動架構是針對領域驅動設計建立的一種架構風格,它以領域爲核心驅動力,以業務能力爲核心關注點建立目標系統的架構解決方案,核心元模型爲系統上下文與限界上下文,並以它們爲邊界形成各自的架構模式:系統分層架構模式與菱形對稱架構模式。

領域驅動架構風格充分利用了限界上下文的自治性與開放性。

當限界上下文化身爲運行在進程內部的庫時,即演變爲單體架構模式

當限界上下文根據不同的業務場景定義爲不同的通信邊界時,即演變爲面向服務架構模式(或者認爲是單體架構與微服務架構組成的混合架構);

當限界上下文的通信邊界被界定爲進程間通信時,即演變爲微服務架構模式

當限界上下文之間的協作採用發佈者 / 訂閱者映射模式時,即演變爲事件驅動架構模式

顯然,支撐領域驅動架構風格演變能力的關鍵要素,正是領域驅動戰略設計的核心模式——限界上下文

領域驅動架構風格充分利用了系統上下文對解空間的邊界定義,並在約束一致性的同時,保證了設計的實用性。

系統分層架構對限界上下文進行了界定與規範,使得它們能夠採取一致的方式提供業務能力;同時,根據限界上下文所屬子領域的不同,結合具體的業務場景降低對限界上下文的設計要求,不再一視同仁地嚴格要求運用菱形對稱架構,對於基礎層的限界上下文,甚至可以不採用領域建模。

根據業務能力進行縱向切分的限界上下文未必滿足面向前端的服務請求,系統分層架構引入邊緣層來封裝和聚合各個自治的業務能力,同時爲前端提供不同的展現模型。

無論是單體架構模式、面向服務架構模式還是微服務架構模式,實則都可以遵循系統分層架構,它們之間的區別僅在於限界上下文的通信邊界,如此就可以讓遵循領域驅動設計的系統架構做到業務架構與應用架構、數據架構的統一,並保證這三者與技術架構的隔離。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/nMkxatKgjQLLiEa5fFFxmg