2012-02-07 39 views
0

我在閱讀很多關於Servicebus實現(NServicebus,MassTransit ...)的內容,我想我已經理解了Servicebus是如何工作的。我仍然不確定使用正確的方案是什麼,因爲我知道我自己和我傾向於使用技術,儘管它們可能是需求的開銷。使用Servicebus的場景

所以我的問題是: 使用Servicebus有什麼好的理由/場景,我需要使用DDD技術來使用它嗎?

有些場景我想到:

  • 與外部系統通信(例如,我的應用程序與外部系統進行通信,並且我希望確保這些被調用,例如,我在我的數據庫,但我也中堅持的對象必須調用一個外部Web服務來同步數據,我會創建一個Command,並且我將有2個處理程序來獲取該事件,一個持久化到我的數據庫,另一個處理web服務,如果on命令失敗,它將被重試)
  • 可擴展性(我可以在多臺機器上擴展)
  • 它可能導致更乾淨的代碼(而不是執行幾個連續的任務,例如,一個實體被更新我看到有不同的消息處理程序單獨執行這些任務,例如,保存實體,另一個Handler可以在非規範化數據存儲上執行更新等)。

回答

2

我認爲你釘了一些使用NserviceBus的好方法。 我還沒有在任何項目中使用它,但我已經在實驗室中做了一些工作,只是想知道它是如何工作的。我雖然有一位老同事告訴我,他們拋出了biztalk集成服務器,轉而採用服務總線進行系統到系統的集成。

不要忘記支持佐賀的這是非常方便的,當你有消息之間的依賴關係。 NS服務總線爲您提供可以交易和異步的類型安全通信端點。

在DDD服務總線爲您的應用程序提供了一個很好的工具來處理異步域事件,如火災和遺忘。適用於開發Web應用程序並需要發送電子郵件,臉書集成,Twitter,將數據保存到光盤上的文件,將消息發送到應用程序。

我覺得事情複雜化幾乎是我們的本性,所以當你說「我知道我自己,我傾向於使用技術......」時,我認爲它是自我視角的一個好兆頭。就像Udi Dahan稱自己是A Software Simplist一樣。嘗試將其投入生產。