1

NServiceBus或等效的ESB是否適用於具有一堆不同類型的後臺維護類型任務的應用程序?例如:NServiceBus適用於週期性任務的負載分配

  • 掃描數據庫進行的某些詞在存儲相對昂貴的查詢的結果的用戶生成內容
  • 更新數據庫表的發生
  • 創建/維護外部索引內容
  • 發送預定事件的事件通知電子郵件。

我的想法是使用某種任務調度程序(Windows內置函數,Quartz.NET或我自己的基於數據庫的解決方案)週期性地將不同種類的消息發佈到總線上。這段時間可能短至一分鐘或長達一天。我想使用總線的原因是,當系統變得更大更繁忙時,我可以擴大訂戶數量,任務變得更頻繁或更耗費資源。只要我至少有兩個用戶在運行,它也會提供冗餘。

明顯的替代方案是編寫我自己的Windows服務,這是由調度程序觸發並執行工作的,但我覺得要將這種擴展超出單臺機器並提供容錯可能比使用ESB就像管道。

這聽起來像一個合理的方法嗎?替代建議?

TIA

回答

2

由於NServiceBus的作者,我很可能是偏見,但有學習新技術和寫作之間的權衡(可能是一個更簡單的版本),你自己的。我建議考慮您自己解決方案的長期維護(和文檔)成本,而不是內部編寫的成本。

就您所描述的功能集而言,NServiceBus的確提供了所有這些功能。