2

我有一個長期運行的工作流服務,我從中調用了多個服務。其中一項服務是連接到遺留系統的長時間運行的共享企業WCF服務,其吞吐量受底層遺留系統的限制。當到達調用共享WCF服務的步驟時,我可能在內存中有數百個WF實例。 WCF服務不限制實例創建或配給實例創建。在從工作流調用長時間運行的WCF服務之前排隊?

在我的工作流程和被調用的WCF服務中,我可以預期哪些問題?它是否有助於不直接調用WCF服務,而是將它排隊並根據WCF服務吞吐量限制對WCF服務的調用次數?如果排隊是要走的路,那麼同樣的工作流程中的現成選項是什麼?

同樣,在工作流程中管理服務可用性問題的理想設計是什麼?

+0

你應該分享你是如何同時承載的WF運行和WCF應用程序。 – SliverNinja

+0

WF服務和企業WCF服務均在Appfabric中託管。 – ideafountain

回答

1

在這種情況下,將呼叫排隊到較慢的服務是個好主意。如果你不這樣做,整個系統將通過工作流程阻塞等待I/O的線程來備份,並最終你會遭受線程匱乏。即使您在這種情況下打開限制,也只會將問題推送到正在發送消息的客戶端應用程序。

我會考慮使用Azure的ServiceBus隊列或MSMQ

相關問題