【问题标题】:NServiceBus appropriate for load distribution of periodic tasksNServiceBus 适用于周期性任务的负载分配
【发布时间】:2010-11-17 14:42:09
【问题描述】:

NServiceBus 或等效的 ESB 是否适合具有大量不同类型的后台维护类型任务的应用程序?例如:

  • 扫描数据库以查找用户生成的内容中出现的某些单词
  • 更新存储相对昂贵查询结果的数据库表
  • 为内容创建/维护外部索引
  • 为已安排的活动发送活动通知电子邮件。

我的想法是使用某种任务调度程序(Windows 内置程序、Quartz.NET 或我自己的基于数据库的解决方案)定期将不同类型的消息发布到总线上。时间可以短至一分钟,也可以长至几天。我想使用总线的原因是我可以随着系统变得更大、更繁忙以及任务变得更加频繁或资源密集型而扩展订阅者的数量。只要我始终至少有两个订阅者在运行,它也会提供冗余。

对此的明显替代方案是编写我自己的 Windows 服务,该服务由调度程序触发并执行工作,但我觉得使这种规模超出单台机器并提供容错可能比使用 ESB 更困难就像那个管道一样。

这听起来像是一种合理的方法吗?替代建议?

TIA

【问题讨论】:

    标签: scalability scheduled-tasks nservicebus esb fault-tolerance


    【解决方案1】:

    作为 NServiceBus 的作者,我很可能有偏见,但在学习新技术和编写(可能是更简单的版本)自己的技术之间需要权衡取舍。与内部编写的解决方案相比,我建议您考虑一下您自己的解决方案的长期维护(和文档)成本。

    就您描述的功能集而言,NServiceBus 确实提供了所有这些功能。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-14
      • 2019-05-25
      • 2021-02-04
      • 1970-01-01
      • 2018-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多