我们计划在工作中实现 NServicebus pub sub 模型。争论的一个焦点是订户/消息处理程序是否应该执行域工作,或者是否应该将工作委托(delegate)给当前执行该工作的相关 Web 服务之一。后者的论点是我们可以独立扩展订阅者和网络服务。这里推荐的做法是什么?
最佳答案
如果您的所有消息处理程序正在调用 Web 服务,则会引入另一个网络往返延迟并降低整个解决方案的可靠性(由于可能出现超时)。
我的建议是采用已编译的 Web 服务并将它们作为 DLL 部署到与消息处理程序相同的进程,并让处理程序在进程内调用它们。这样您就可以重复使用,而不会出现上述任何缺点。
相互独立地扩展这些实际上并没有任何优势。
关于nservicebus - NServicebus 消息处理程序应该处理业务逻辑吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7328410/