【问题标题】:Trouble handling NServiceBus events on IIS with multiple worker processes在具有多个工作进程的 IIS 上处理 NServiceBus 事件时遇到问题
【发布时间】:2014-03-18 17:18:35
【问题描述】:

我正在开发一个订阅由后端应用程序发布的 NServiceBus 事件的 Web 应用程序。对于一个工作进程,这可以按预期工作,但是对于同一 IIS 服务器上的多个 IIS 工作进程,只有一个进程接收事件。我想这是由于所有工作进程共享相同的输入队列,因此彼此“窃取”事件。因此,我的问题是如何确保每个工作进程中的事件处理程序接收到他们订阅的事件?

虽然动态生成输入队列名称可以解决问题,但很快就会在系统周围留下大量未使用的队列。

这听起来像是一个很常见的问题,所以应该有一个通用的解决方案吗?

任何反馈将不胜感激

/马格纳斯

【问题讨论】:

  • 网站如何处理这些消息?通常 Web 端点只发送消息。
  • 我们有 JS 组件从第 3 方 WS 获取数据。对于身份验证,需要在 JS 代码中提供会话令牌。对于第 3 方 WS,我们获得了 4 个不同的登录帐户,每个帐户都由供应商配置,以提供与我们 4 个不同客户组中的每一个的需求相关的数据。后端应用程序处理登录并保持这 4 个会话的活动。每当建立连接或成功执行保活时,都会在总线上发布一个事件。每个 MVC 应用程序都会监听这些事件并确保将有效的会话令牌输出到 JS/HTML。
  • 任何想法如何以更简单/更好的方式完成同样的事情,这也将支持网络花园?
  • 查看此参考以使用 SignalR:stackoverflow.com/questions/17180897/…

标签: c# iis nservicebus


【解决方案1】:

很遗憾,NServiceBus 不支持网络花园。

我们会考虑在未来根据用户需求增加对网络花园的支持。 我们建议同时考虑将虚拟化作为横向扩展解决方案。

我提出了一个问题,请参阅https://github.com/Particular/NServiceBus/issues/2015,请考虑在问题中添加额外的 cmets。

【讨论】:

    猜你喜欢
    • 2012-05-14
    • 2020-11-16
    • 2015-04-14
    • 2020-08-15
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 2018-04-15
    • 1970-01-01
    相关资源
    最近更新 更多