我正在使用带有NServiceBus的ASP.NET MVC,并且尽管绝大多数命令都可以在最终的一致性中执行,但是有一小部分任务可以立即实现一致性。
我已经对用于实现这一目标的各种方法进行了大量研究,但很少有人提出任何理由来说明为什么特定方法更可取。我在生产环境中没有任何NSB经验,因此了解任何方法是否以任何方式限制可扩展性也是一件好事。
以下是我遇到的广泛方法: -
有没有比上述三个更好的选项,如果有,为什么?如果没有,上面三个中的哪一个更好,为什么?
我假设答案不是主观的,并且适合使用NServiceBus在CQRS中实现命令基础设施比其他更好。
感谢。
答案 0 :(得分:1)
我对此的看法是,实际端点不应该执行工作,而是将其交给某些“任务”(应用程序服务/操作脚本)对象。 该对象正在立即执行工作。
因此,对于绝对 具有100%一致性而非调用相同任务对象而不是发送命令以供稍后处理的情况。 可能仍然需要该命令用于其他方案。