3

背景當決定使用DDD將我們的單體Web應用程序拆分爲單獨的Web應用程序時,我應該考慮什麼?

我們使用微軟(.NET)的技術堆棧。

目前,我們有一個大的整體網絡應用。我們正在計劃如何實施域驅動設計。
我們計劃在一些有界的上下文上實現微服務,但不是全部。因爲它是一個龐然大物,所以大多數有界的上下文將存在於同一個數據庫中,所以我們必須確保我們在代碼級別上控制訪問 。

this SO post,有落實界環境兩個方面。

<bc 1> 
|_ domain 
|_ application 
|_ presentation 
|_ infrastructure 
<bc 2> 
|_ domain 
|_ application 
|_ presentation 
|_ infrastructure 

或以下:

domain 
|_ <bc 1> 
|_ <bc 2> 
application 
presentation 
infrastructure 

我們感興趣的是第一種方法。因爲它似乎適合我們的情況。

我的問題是,決定是否要拆我們的一個Web應用程序成有限conexts單獨的應用程序時,我們應該考慮的問題。考慮這種方法時有什麼缺點和疑點?

有我們的應用程序的一些(爲了簡潔)主要領域:

Products 
Client Administration 
System Administration 

當用戶在一個特定的區域,他/她通常需要對其他領域的信息很少。

所有的想法和建議,歡迎選購。我們正試圖儘可能多地理解。

+0

投票關閉:用語過於寬泛/主要基於意見 – CollinD

+0

@drizzen你考慮的第一種方法是給定的,不知道的*前是否結束*應分開,還是不確定方法1與方法2? – guillaume31

+0

我們正在試圖決定我們是應該採取一種方法還是兩種方法。通過方法一,我們可以將我們單獨的有界上下文分解成不同的Web應用程序。在方法二中,我們將整個Web應用程序保留下來,並在域級別上打破有界的上下文。部分域名需要通過不同的應用程序(手機,網絡等)訪問。 – drizzie

回答

1

一個微服務的基本基礎是independent deployability,所以我肯定會用的方法去現在1

在該方案中,微服務的「表示層」不會去儘可能的前置式它通常只是一個REST API。有幾種方法來設計消耗微服務前端,但如果ProductClientSystem前端有不同的生命週期,我會建議有他們單獨的Web應用程序。

在這個問題上有用的文章: http://blog.xebia.com/the-monolithic-frontend-in-the-microservices-architecture/ http://samnewman.io/patterns/architectural/bff/#bff

相關問題