我已经看了几个月的公共交通,我对这些可能性非常感兴趣。但是,我似乎无法将这些概念完全正确。我查看了代码,并且我已经阅读了文档,但我感觉不到我理解它。
一般的例子显示;
Bus.Initialize( sbc =>
{
sbc.UseMsmq( );
sbc.VerifyMsmqConfiguration( );
sbc.UseMulticastSubscriptionClient( );
sbc.ReceiveFrom( "msmq://localhost/myqueue" );
} );
现在,我明白这是做什么的,但我认为我的大脑并不比这更进一步。这就是我所理解的;
我只想更多地了解这一点。我不认为我得到它。我是否需要配置服务器,正在收听?我是否在我的软件中进行设置然后只发布消息,从内部获取并处理它们?
答案 0 :(得分:4)
首先,开始使用MassTransit ......
这个想法是你有多个系统进行通信。现在这只是消息传递,并不真正需要MassTransit。 A
与B
进行对话。当我们开始讨论pub / sub时,它会变得更有趣。 A
发布CreateOrder
正在侦听的消息B
。当B
收到CreateOrder
消息时,它可以采取处理新订单所需的任何步骤。这使服务分离,唯一的交互点是一个非常简单的消息,CreateOrder
。
现在,pub / sub的乐趣在于A
和B
来回徘徊了一段时间,我们C
想要收听CreateOrder
消息,以便它可以在B
完成所有任务之前为发货准备库存。我们可以将C
放入总线,它会订阅CreateOrder
消息,A
和B
都不需要更改任何代码。这可以在他们主动发送来回消息时完成。您需要升级其中一个成员吗?只需停止该服务,放入新服务,然后重新启动它,允许它从停止的位置选择它。
如果您对此主题有更多疑问,我会尝试点击邮件列表。我想相信我们在可能的时候会很敏感。此外,你可以找到几个相关的问题和书籍......
企业集成模式是一本很好的书,即使是在考虑更多Java时也是如此。