nservicebus - NServicebus 消息处理程序应该处理业务逻辑吗?

标签 nservicebus

我们计划在工作中实现 NServicebus pub sub 模型。争论的一个焦点是订户/消息处理程序是否应该执行域工作,或者是否应该将工作委托(delegate)给当前执行该工作的相关 Web 服务之一。后者的论点是我们可以独立扩展订阅者和网络服务。这里推荐的做法是什么?

最佳答案

如果您的所有消息处理程序正在调用 Web 服务,则会引入另一个网络往返延迟并降低整个解决方案的可靠性(由于可能出现超时)。

我的建议是采用已编译的 Web 服务并将它们作为 DLL 部署到与消息处理程序相同的进程,并让处理程序在进程内调用它们。这样您就可以重复使用,而不会出现上述任何缺点。

相互独立地扩展这些实际上并没有任何优势。

关于nservicebus - NServicebus 消息处理程序应该处理业务逻辑吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7328410/

相关文章:

c# - Saga 完成导致 Distributed Transaction Completed 错误

nservicebus 3.2 测试预期失败

.net - NServiceBus中使用IBus的Send方法时如何设置IMessageFormatter?

nservicebus - 在 NServiceBus 4 中插入您自己的 IoC 容器

c# - 是否可以加快测试 nservicebus 超时管理器的过程?

c# - 将 NServiceBus Saga 作为单个可等待的请求-响应调用

rabbitmq - 在消息传递中如何使用关联 ID 的实际示例?

c# - Saga 等待状态值

.net - NServiceBus 3.2 示例问题

c# - nservicebus启动错误