NServiceBus 或等效的 ESB 是否适合具有大量不同类型的后台维护类型任务的应用程序?例如:
- 扫描数据库以查找用户生成的内容中出现的某些单词
- 更新存储相对昂贵查询结果的数据库表
- 为内容创建/维护外部索引
- 发送预定事件的事件通知电子邮件。
我的想法是使用某种任务调度程序(Windows 内置的、Quartz.NET 或我自己的基于数据库的解决方案)定期将不同类型的消息发布到总线上。时间可以短至一分钟,也可以长至几天。我想使用总线的原因是,当系统变得更大、更繁忙以及任务变得更加频繁或资源密集时,我可以扩展订阅者的数量。只要我始终至少有两个订阅者在运行,它也会提供冗余。
明显的替代方法是编写我自己的由调度程序触发并执行工作的 Windows 服务,但我觉得使这种规模超出单台机器并提供容错可能比使用 ESB 作为管道更困难.
这听起来像一个合理的方法吗?替代建议?
TIA