1

除了延迟之外,循环通过 Web 服务列表发布事件是否有明显的缺点?

Dispatcher(event) {
    var services = getServices();
    for each service in services {
        callService(service, event);
    }
}

编辑:
相对于什么?——彼得·里奇

  • 使用 Web 服务,而不是 MSMQ 或 nServiceBus。

其他问题——Ruben Bartelink

  • 使用 joliver 的事件存储。
  • Web 服务将是 webapi restfull 服务(内部)或“订阅”事件的第三方服务。
  • 循环访问 Web 服务,因为每个 Web 服务都是一个需要调度的地址。
  • 还没有 c# 代码,因为我还没有达到这一点。
  • 我仍在评估整个项目的技术,有一个问题,决定把它放在堆栈溢出上,看看每个人都在做什么。

我昨天研究的补充信息:
在选择通信方法方面,了解企业服务总线 (ESB) http://en.wikipedia.org/wiki/Enterprise_service_bus很有用。在 .net 世界中,nservicebus 似乎很受欢迎,但不是免费的,公共交通是免费的,但我在构建和运行示例时遇到了麻烦。TT

公共交通背后的一个人对消息传递与 Web 服务的一个很好的概述:http: //blip.tv/ineta-live/event-driven-architecture-by-chris-patterson-north-dallas-net-ug- on-02-03-2010-3193457

4

1 回答 1

2

在以下情况下,通过直接从面向用户的应用程序层调用各种 Web 服务来发布事件可能会很麻烦:

  1. 远程服务不可用,
  2. 远程服务中断并返回意外错误代码,
  3. 远程服务很慢,您的用户不喜欢等待,
  4. 等等

通过将事件通过队列发布到某个工作应用程序,负责调用各种 Web 服务,您的前端应用程序不会因上述任何原因而失败。

于 2013-03-06T14:43:32.680 回答