我不確定我是否理解正確。
裏面的佐賀一切都應該是簡潔,快速,根據這些指導性的帖子:
- 喬納森·奧利弗的總結:blog.jonathanoliver.com/...
- 烏迪大漢的原始:skillsmatter.com/skillscasts/ ...
- 和一些早期的帖子
- lostechies.com/jimmybogard/2013/03/26/scaling-nservicebus-sagas
- docs.particular.net/nservicebus/architecture/principles
這就是說你的傳奇應該沒有商業邏輯,並且裏面沒有if-else指令。它應該只是一個管絃樂器,並且應該將其稱爲「成功導向」 - 即:在儘可能多地調用佐賀之前完成儘可能多的驗證。
但是單獨的處理程序(你稱之爲「獨立處理程序」?),那些不在傳奇內的處理程序呢?以下哪項是正確的:
a。一個傳奇之外的NServiceBus消息處理程序是否應該總是快速完成,並且如果有一個耗時的操作將其傳遞給一個線程並完成?
b。或者是更好地「處理」處理程序,這樣NServiceBus就會「知道」這個消息正在被大量使用,並且可以採取相應的行動 - 即通過自動負載平衡,在處理過程中創建另一個處理實例一個不同的過程,甚至不同的機器?
什麼是正確的路要走?
您能否提供一些示例代碼以及您的答案,並調用Foo.DoTimeConsumingBar()
方法。
謝謝。
與此同時,對佐賀應快速回應並且沒有業務邏輯的原因有正式答案是很好的。或者只是一個指向最新的官方答案的指針。 – pashute