2011-08-25 85 views
6

我一直在尋找在地下了幾個月的,現在,我真的可能性很感興趣。但是,我似乎無法完全理解這些概念。我看過的代碼,我已經通過文件了,但我不覺得我的「M瞭解它服務巴士 - 我是否愚蠢?

普遍呈現的例子。

Bus.Initialize(sbc => 
         { 
          sbc.UseMsmq(); 
          sbc.VerifyMsmqConfiguration(); 
          sbc.UseMulticastSubscriptionClient(); 
          sbc.ReceiveFrom("msmq://localhost/myqueue"); 
         }); 

現在,我明白這是什麼做的,但我不認爲我的大腦是進一步採取這一概念比這下面是什麼我明白。

  • 消息可以從軟件發佈,並訂閱了服務總線中的在收到該消息後要執行的動作。
  • 服務總線本身,坐落在一個消息隊列(無論是RabbitMQ的或MSMQ在MT)的頂部

我只是想了解更多一點關於這一點。我不認爲我的「M得到它。我需要配置一臺服務器,在聽嗎?難道我把它架在我的軟件然後就發佈消息,他們得到回升,並從?

內處理

回答

4

首先,獲得開始MassTransit ...

的想法是,你有多個系統進行通信。現在,只是消息和並不真正需要MassTrans它。 AB交談。當我們開始談論pub/sub時,它會變得更有趣。 A發佈味精CreateOrderB被監聽。當B收到CreateOrder消息它可以採取一切需要處理新的訂單。這使得服務解耦,唯一的交互點是一個非常簡單的消息,即CreateOrder

現在的pub/sub的喜悅是AB會來回了一段時間,我們有C想要聽進CreateOrder消息,以便它可以B前準備出貨的股票完成了所有任務。我們可以刪除C到總線,其簽約的CreateOrder消息既不A也不B需要更改任何代碼。這可以在他們主動來回發送消息時完成。你需要升級其中一名成員?只需停止該服務,放入新服務器,然後重新啓動服務器,以便在停止服務的位置進行選擇。

如果您在這方面還有更多的問題,我會嘗試打了郵件列表。我希望相信,當我們可以的時候,我們相當有迴應。此外,你可以打了幾個相關的問題和書籍...

企業集成模式是一本很棒的書,即使是用Java編寫的更多。

+0

感謝特拉維斯。我認爲使用MT的多種方式與我的想法是一致的。我希望下週能讀更多的內容。謝謝。 – Hammerstein