我对事件驱动的设计架构有疑问。
我有一个包含许多域服务的服务器应用程序。每个服务都是一个WCF服务,我希望服务通过我创建的专用pub-sub基础设施使用引发事件进行通信。
现在一切正常,但我对业务流程有疑问。
我有一个管理员服务,它接受来自消费者的电话并启动该过程,向组件A发送消息,然后组件A向组件B发送消息,依此类推。
最终,其中一些服务会为管理服务引发事件,而该服务不会保留传入请求的状态。
协调或管理此流程的最佳方法是什么?
由于
答案 0 :(得分:2)
特别注意NServiceBus和NServiceBus sagas。一个传奇(NSB中的含义更类似于'进程管理器')维护状态并通过某个ID关联消息。在您的情况下,经理服务是一种传奇。它应该维护它管理的每个进程的状态。此状态应由相关ID键入,以便在组件之间发送的所有消息共享。