次の方法で共有


オーケストレーションの退避と復元

長時間実行される多くのビジネス プロセスを同時に実行している場合、メモリとパフォーマンスで問題が発生する可能性があります。 オーケストレーション エンジンでは、オーケストレーション インスタンスを "退避" および "復元" することで、これらの問題に対処します。

退避とは、オーケストレーションの状態を SQL Server データベースにシリアル化するプロセスのことです。 リハイドレートは、このプロセスの逆です。オーケストレーションの最後の実行状態をデータベースから逆シリアル化します。 退避は、メモリ内で一度にインスタンス化する必要があるオーケストレーションの数を減らすことによって、システム リソースの使用を最小限に抑えるために使用します。

脱水

オーケストレーション エンジンは、オーケストレーション インスタンスが長い時間アイドル状態かどうかを判断できます。 エンジンは、しきい値を計算して、発生するさまざまなアクションの待機時間を決めます。しきい値を超えた場合、インスタンスが退避されます。 これは、次のような状況で発生する可能性があります。

  • オーケストレーションがメッセージの受信を待機しているときに、エンジンで設定されたしきい値の待機時間を過ぎた場合。

  • オーケストレーションがメッセージを "リッスン" している場合 ( Listen 図形を使用する場合と同様)、エンジンによって決定されたしきい値の前に分岐がトリガーされない場合。 唯一の例外は、 Listen 図形にアクティブ化受信が含まれている場合です。

  • オーケストレーションの遅延がエンジンで設定されたしきい値を超えた場合。

    エンジンは、状態を保存することでインスタンスを退避し、インスタンスに必要なメモリを解放します。 休止しているオーケストレーション インスタンスを退避することにより、多数の長時間実行されるビジネス プロセスを単一のコンピューターで同時に実行できるようになります。

    BizTalk Server には、退避の動作を構成するために設定できるプロパティが 12 個あります。 このセクションのトピックでは、これらのプロパティとその既定値を一覧表示して説明し、さまざまな値が脱水動作にどのように影響するかを説明します。

リハイドレート

オーケストレーション エンジンは、メッセージの受信または遅延図形で指定されているタイムアウトの経過により、オーケストレーション インスタンスの復元を実行できます。 次に、保存されたオーケストレーション インスタンスをメモリに読み込み、その状態を復元し、中断した時点から実行します。 オーケストレーションで図形を使用する方法の詳細については、「 オーケストレーション図形」を参照してください。

オーケストレーションは、複数のサーバーで実行するように構成できます。 退避されたオーケストレーション インスタンスは、これらのサーバーのどれにでも復元できます。 いずれかのサーバーが停止した場合、エンジンは引き続き別のサーバーでオーケストレーションを実行し、以前の状態を継続します。 また、エンジンは、この機能を利用して、サーバー間の負荷分散も実装します。

次のステップ