我使用的是 Windows Azure 和 WF4,我的工作流服务托管在一个网络角色中(有 N 个实例)。我现在的工作是找出如何进行关联,以便我可以将消息发送到正确的工作流实例。为了解释这种情况,我的工作流程(附加)从“StartWorkflow”接收活动开始,创建 3 个“Person”,并以并行方式等待这 3 个人的确认(“ConfirmCreation”接收活动)。
然后我开始搜索在其他 NLB 环境中是如何产生亲和力的(主要是寻找有关它如何在 Windows Server AppFabric 上工作的信息),但我没有找到准确的答案。那么在其他 NLB 环境中是如何完成的呢?
我的下一个任务是找出如何实现一个系统来处理 Windows Azure 上的这种亲和力,以及这个解决方案的成本(价格、时间和工作量)是否可行,或者只使用一个解决方案是否更好web-role 实例,同时我们等待 Azure AppFabric 的 WF4 主机。我发现的唯一方法是持久化工作流实例。还有其他方法可以做到这一点吗?
我的第三个(但不是最后一个)任务是找出 WF4 如何处理同时收到的多条消息。在我的场景中,这意味着如果 3 个人同时确认并且同时收到确认消息,它将如何处理。由于这个问题最合乎逻辑的答案似乎是使用队列,因此我开始在 WF4 上查找有关队列的信息,并发现有人在谈论 MSQM。但是什么是原生 WF4 消息处理系统?这个处理程序真的是一个队列还是另一个系统?这种并发是如何处理的?