我想知道是否應該有一個公共汽車在那裏註冊我的命令/事件和命令處理程序/事件處理程序,或者因爲我的應用程序現在有許多有界的上下文,我應該有獨立的總線嗎?CQRS中的一輛公共汽車還是單獨的巴士?
有什麼優點和缺點?
我想知道是否應該有一個公共汽車在那裏註冊我的命令/事件和命令處理程序/事件處理程序,或者因爲我的應用程序現在有許多有界的上下文,我應該有獨立的總線嗎?CQRS中的一輛公共汽車還是單獨的巴士?
有什麼優點和缺點?
巴士應主要被視爲基礎設施問題,而不是域問題。你將如何部署你的應用程序?
總線是一種傳輸方式,如果某些情況下消息流量較低,則可以爲它們使用一條總線,但對於其他一些環境,則需要幾條總線來傳輸一條環境消息。
你能舉個例子說明你的意思嗎? –
這裏有點困惑。由於這是我的第一個CQRS項目,我遵循Greg Young的簡單CQRS項目,該項目有一條可以註冊事件和命令的總線。然後我開始閱讀關於DDD的更多信息,並且由於我在不同的領域工作,我創建了一個總線來註冊該域的命令。然後,當我在其他領域工作時,我創建了另一個總線並在那裏爲其註冊命令。所以也許我在這方面對巴士的理解是錯誤的。在那個時候,它感覺是正確的做邏輯。你提到了部署,你的意思是如果我使用NSB等? –
如果您公開抽象到您的域,您仍然可以選擇在運行時確定所提供的總線的性質。也就是說,在一個進程(即內存總線)或不同機器(服務總線)上部署兩個BC時,可以做出不同的選擇。或者爲不同的處理器注入不同的總線,以獲取低優先級和高優先級的消息。 –