2

私は、複数のサービスを呼び出す長期実行ワークフロー サービスを持っています。サービスの 1 つは、レガシ システムに接続する長時間実行されている共有エンタープライズ WCF サービスであり、そのスループットは基盤となるレガシ システムによって制約されます。共有 WCF サービスを呼び出すステップに到達した時点で、メモリ内に数百の WF インスタンスが存在する可能性があります。WCF サービスは、インスタンスの作成または配給インスタンスの作成を制限しません。

ワークフロー プロセスと呼び出された WCF サービスの両方で予想される問題は何ですか? WCF サービスを直接呼び出すのではなく、キューに入れ、WCF サービスのスループットに基づいて WCF サービスへの呼び出しの数を制限することは役に立ちますか? キューイングが進むべき道である場合、同じワークフローのすぐに使用できるオプションは何ですか?

同様に、ワークフローでサービスの可用性の問題を管理するための理想的な設計は何ですか?

4

1 に答える 1

1

このような場合、低速のサービスへのコールをキューに入れることをお勧めします。そうしないと、システム全体がI / Oを待機しているスレッドをブロックするワークフローでバックアップされ、最終的にはスレッドの枯渇に悩まされます。このような場合にスロットルをオンにしても、メッセージを送信しているクライアントアプリケーションにのみ問題をプッシュします。

AzureServiceBusQueuesまたはMSMQの使用を検討します

于 2011-12-13T00:48:05.650 に答える