【问题标题】:Observer over a network网络观察者
【发布时间】:2010-12-01 13:29:03
【问题描述】:

我希望有一个事件驱动的架构,其中事件消费者(订阅者/观察者)和事件生产者(发布者/主题)位于分布式地理上。

.NET 中是否有一些东西可以通过网络无缝中继事件,而无需我深入了解传输机制的实现?

我记得 Juval Lowy 大约在 2 年前在 DNR 节目中谈到了企业服务,但不记得那是什么。

有人知道我可以从 .NET 框架中使用什么来执行此操作吗?

【问题讨论】:

    标签: c# observer-pattern


    【解决方案1】:

    您可以使用 WCF 和 MSMQ 做到这一点。汤姆霍兰德有一个blog post on it.。您还可以查看 TIBCO 之类的解决方案。如果您喜欢开源,RabbitMQ 也值得一看。如果您正在寻找服务总线,那么mass transit 也是一个开源选项。 Mike Hadlow 有blogged about it here

    【讨论】:

    • +1 用于 MSMQ。这正是 MSMQ 或支持 pub/sub 的 ESB 的设计目的。
    • 对于这个特定的问题,Tibco 是不是有点矫枉过正
    • @Ty- Tibco 有什么问题,我认识很多人成功使用它。
    • Rhino ESB 和 NServiceBus 是您可以研究的其他服务总线实现。
    • @Jamie- 是的,这是两个比较流行的。
    【解决方案2】:

    .NET 中有什么东西可以中继吗? 网络上的事件无缝 无需我深入了解 运输的实施 机制?

    我相信这就是 .NET Remoting (link) 发挥作用的地方。我不是这方面的专家,但它看起来像您要找的东西。

    除了 .NET 远程处理之外,WCF (Windows Communication Foundation) (link) 可能是远程处理的更好替代方案。我对 WebServices 有一些经验,对 WCF 的经验很少,但我会研究这两种 .NET 技术。

    【讨论】:

    • 远程处理现在被视为遗留问题。应该改用 WCF。
    • 我是这么想的。我从未使用过它,但我也不想排除它。 WCF 怎么回事? :)
    • 通过远程处理实现事件被认为是不好的做法。 thinktecture.com/resourcearchive/net-remoting-faq/…
    【解决方案3】:

    这听起来像是 MSMQ 的工作。本文应该可以帮助您入门。

    http://msdn.microsoft.com/en-us/library/ms978430.aspx

    【讨论】:

      【解决方案4】:

      这对于 Erlang 系统来说听起来是一个完美的工作......或者也许使用像 RabbitMQ 这样的 AMCQ 客户端,不是吗?

      【讨论】:

        【解决方案5】:

        如果您有配置访问权限,MSMQ 将是一个很好的方法。 WCF 应该是一个合理的替代方案,具体取决于消息传递的重要性。

        简单的 MSMQ 示例:http://www.codeproject.com/KB/cs/mgpmyqueue.aspx

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2016-02-20
          • 2023-04-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多