publish-subscribe - 服务总线 - 我是不是傻?

标签 publish-subscribe servicebus masstransit

几个月以来,我一直在关注大众运输系统,我对各种可能性非常感兴趣。但是,我似乎无法完全正确地理解这些概念。我看过代码,也看过文档,但我只是觉得我没有理解它。

一般的例子显示;

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

现在,我明白这是在做什么,但我认为我的大脑并没有比这更进一步。这是我所理解的;
  • 消息可以从软件发布,并在服务总线内订阅以在接收到该消息时执行操作。
  • 服务总线本身位于消息队列(MT 中的 RabbitMQ 或 MSMQ)之上

  • 我只是想多了解一点。我不认为我明白了。我需要配置一个服务器,监听吗?我是否在我的软件中设置它然后只发布消息,它们从内部被接收和处理?

    最佳答案

    首先,开始使用大众运输...

  • MT 的文档 http://readthedocs.org/docs/masstransit/en/develop/index.html
  • MT的邮件列表http://groups.google.com/group/masstransit-discuss

  • 这个想法是你有多个系统通信。现在这只是消息传递,并不真正需要 MassTransit。 AB 交谈.当我们开始谈论 pub/sub 时,它会变得更有趣。 A发布消息 CreateOrder其中B正在听。当B收到 CreateOrder message 它可以采取任何必要的步骤来处理新订单。这使得服务分离,唯一的交互点是一个非常简单的消息,CreateOrder .

    现在发布/订阅的乐趣在于 AB来回走一会,我们有C想听的CreateOrder消息,以便它可以在 B 之前准备发货完成其所有任务。我们可以滴C进入总线,它订阅了CreateOrder消息和都不是 A也不是 B需要更改任何代码。这可以在他们积极地来回发送消息时完成。您需要升级所涉及的成员之一吗?只需停止该服务,放入新服务,然后重新启动它,让它从停止的地方选择它。

    如果您对此主题有更多问题,我会尝试访问邮件列表。我想相信我们会在可能的时候使用react。此外,您可以提出几个相关的问题和书籍...
  • What is an ESB and what is it good for? ,
  • Enterprise Service Bus Terminology , 或
  • Enterprise Service Bus: Theory in Practice
  • Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions .

  • Enterprise Integration Patterns 是一本很棒的书,即使在编写时更多地考虑了 Java。

    关于publish-subscribe - 服务总线 - 我是不是傻?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7196520/

    相关文章:

    java - 在 Android 上生成 Azure SAS token

    azure - 如何在没有旧的 Azure 门户的情况下获取现有服务总线的连接字符串

    c# - Microsoft ServiceBus - 参数实体名称为 null 或为空

    masstransit - 如何暂停 Mass Transit 处理队列中的消息

    c# - 如果消费者关闭会发生什么?(大众交通)

    rabbitmq - 在同一主题上创建多个订阅以实现负载共享(发布/订阅)

    c# - ReBus 相当于 NServiceBus Saga ReplyToOriginator

    c++ - ZeroMQ 推/拉

    mysql - 无需轮询即可订阅 MySQL 数据库中的更改

    rabbitmq - 公共(public)交通 : ensure message processing order when there are different message types