2

我有一个长期运行的工作流服务,我从中调用了几个服务。其中一项服务是长期运行的共享企业 WCF 服务,它连接到遗留系统,其吞吐量受到底层遗留系统的限制。当达到调用共享 WCF 服务的步骤时,我可能在内存中有数百个 WF 实例。WCF 服务不限制实例创建或定量实例创建。

在我的工作流程和被调用的 WCF 服务中,我会遇到哪些问题?不直接调用 WCF 服务而是将其排队并根据 WCF 服务吞吐量限制对 WCF 服务的调用次数是否有帮助?如果排队是要走的路,那么工作流程中的开箱即用选项是什么?

同样,在工作流中管理服务可用性问题的理想设计是什么?

4

1 回答 1

1

在这种情况下,对较慢服务的调用进行排队是一个好主意。如果您不这样做,整个系统将使用阻塞等待 I/O 的线程的工作流进行备份,最终您将遭受线程饥饿的困扰。即使您在这种情况下打开限制,您也只会将问题推送到正在发送消息的客户端应用程序上。

我会考虑使用 Azure ServiceBus 队列或 MSMQ

于 2011-12-13T00:48:05.650 回答