2011-08-25 81 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