这是我尝试使用NServiceBus组合的应用程序:
从概念上讲,它就像在家庭服务中构建个人SETI一样,可以在我的所有服务器上运行。
我遇到的问题是,如何在处理1000个文件的过程中停止?
如果我的客户端一次只在总线上推送一两条消息,我可以轻松停止发送消息,如果我决定停在客户端上,但我还有其他两个问题
思想,想法?我是否使用正确的工具/权利方法来解决这个问题?
答案 0 :(得分:1)
您可能想要考虑的一件事是如何关联消息处理。我会使用一个传奇,并让客户端生成某种批处理ID,它附加到要处理的所有文件。这允许您的客户端能够向saga发送CancelProcessing消息,该处理程序可以停止处理/发送消息到文件处理端点并执行任何清理操作,例如完成传奇并从中删除数据数据库。
因此,您将拥有客户端端点,传奇端点和一个或多个文件处理端点(位于分发器后面)。您的客户将负责启动/发送文件到传奇。该传奇管理文件关联和处理活动,而您的处理端点则专注于完成工作。
请记住,处理端点不一定必须是物理端点。如果您愿意,可以在一台服务器上安装许多这些服务器并使用监控工具来确定是否需要添加或删除节点。