まず、現在の状態について説明します。
サーバーは、異なるマシン上の 1 つまたは複数の win サービスでホストされている複数の WCF サービスで構成されています。
- さまざまなデバイスからデータを受信するサービス。デバイスとの通信は、ソケットを使用して実装されます。サービス インスタンス モード - シングルトン。
- データ ブローカー サービス - データの永続化とリクエストによる共有を担当します。インスタンス モード - シングルトン。
- 構成サービス - 構成データベースの変更と管理コンソール (SSMS などの WPF アプリ) の操作を担当します。コンソール、加入者管理などからの接続を処理します。インスタンス モード - シングルトン。
- クライアント アクセス サービス - 上記のクライアント管理とまったく同じですが、クライアントに新しいデータを通知し、サービス バスへのファサードのように機能します。そして再びシングルトン。
- ID 管理サービス - 権限を確認し、結果を返します。シングルトン。
これらのサービスはすべて NServiceBus に接続されており、現時点での動作が非常に気に入っています。
ただし:
シングルトンが多すぎます。主な理由は、サービスバスを使用するには、それの単一のインスタンスが必要です。セッション モードで nservice バスを使用できるかどうかはわかりませんが、これらのサービスすべてが 1 つのキューを使用するという問題を処理する方法がわかりません。
300 人以上のクライアントがいる場合はどうなりますか? シングルトンが応答しなくなる可能性があります..
そして、これらすべてについて何人かの批評家に尋ねたかったのですが、誰かが何か提案できるかもしれません.
前もって感謝します。
アレクセイ