2017-03-23 6 views
0

Webサービスの設定に関する固有の質問があります。サービスファブリック - 同じWebサービスの複数のインスタンス間での設定の同期

私はクライアントIDに、Webサービスの各固有のインスタンスを接続する必要があります(サービスファブリック経由でホストされている)同じWebサービス

の複数のインスタンスを持っています。例えば

、私は5つのサービスのインスタンス、および以下の5クライアントIDを持っている場合:

A、B、C、D、E

私はそれだと動作するように各サービスを設定しますそうのようなユニークなクライアントID:

1 - >

2 - > B

3 - > C

4 - > D

5 - > E

クライアントの順序またはサービスそれらは重要ではありませんように設定されています。重要なのは、各サービスが動作する単一の一意のクライアントIDのみを取得することです。

考えられる解決策の1つは、クライアントIDを格納するSQLテーブルと「IsTaken」という列を使用することです。各サービスは、他のサービスがテーブルにアクセスするのをロックし、取得されていない1つのクライアントIDを取得し、IsTaken値をtrueに変更します。

他の方法がありますか?複数のWebサービス間で構成を同期するように設計された特定のツールですか?前もって感謝します。

答えて

2

クライアントごとにアプリケーションインスタンスを作成することもできます。 URLの一部としてclient-idを登録するServiceインスタンスと組み合わされます。あなたは必要な数のインスタンスを作成するように設定することができます

だからあなたのような何かを得るだろう。組み込みのリバースプロキシを使用して、外部からアクセスします。

0

あなたの要件が正しく理解されている場合は、アクターモデルを使用してサービスを実装し、clientIdをインスタンスIDとして使用できます。アクターモデルでは、クラスタ内のインスタンスIDごとに1つのインスタンスのみが作成/実行されます。アクターは、単一スレッドの実行モデル内で独立した独立した論理ユニットと状態ユニットです。

関連する問題