Orleans 2.0公式文書-5.5.3クラスタとクライアント->構成ガイド->クライアント構成

3293 ワード

に注意
開発のためにローカルsiloとローカルクライアントのみを起動する場合は、前の章「ローカル開発構成」を参照してください.

クライアント構成


1つのClientBuilderおよび複数の補足オプションクラスにより、siloクラスタに接続しgrainに要求を送信するためのクライアントをプログラミング的に構成する.Siloオプションと同様に、クライアントオプションクラスもASPに従う.NETオプション.
クライアント構成にはいくつかの重要な点があります.
  • Orleansクラスタ情報
  • クラスタプロバイダ
  • アプリケーション部
  • クライアント構成の例:
    var client = new ClientBuilder()
        // Clustering information
        .Configure(options =>
        {
            options.ClusterId = "my-first-cluster";
            options.ServiceId = "MyOrleansService";
        })
        // Clustering provider
        .UseAzureStorageClustering(options => options.ConnectionString = connectionString)
        // Application parts: just reference one of the grain interfaces that we use
        .ConfigureApplicationParts(parts => parts.AddApplicationPart(typeof(IValueGrain).Assembly))
        .Build();
    

    この例で使用する手順を分析します.

    Orleansクラスタ情報

        [...]
        // Clustering information
        .Configure(options =>
        {
            options.ClusterId = "orleans-docker";
            options.ServiceId = "AspNetSampleApp";
        })
        [...]
    

    ここでは2つのことを設定します.
  • ClusterId"orleans-docker"に設定されています.これはOrleansクラスタの一意のIDです.このIDを使用するすべてのクライアントとsiloは、直接通信することができます.たとえば、導入ごとに異なるClusterIdを使用する人もいます.
  • ServiceId "AspNetSampleApp":これはあなたのアプリケーションで、いくつかのプロバイダによって使用される(例えば、永続化プロバイダ)唯一のIDです.このIDは配備中は安定しているはずです(変更はありません).

  • クラスタプロバイダ

        [...]
        // Clustering provider
        .UseAzureStorageClustering(options => options.ConnectionString = connectionString)
        [...]
    

    クライアントは、このプロバイダを使用して、クラスタで使用可能なすべてのゲートウェイを検出します.いくつかのプロバイダが使用できますが、この例ではAzure Tableプロバイダを使用します.
    詳細については、「サーバー構成」章の内容を参照してください.

    適用セクション

        [...]
        // Application parts: just reference one of the grain interfaces that we use
        .ConfigureApplicationParts(parts => parts.AddApplicationPart(typeof(IValueGrain).Assembly)).WithReferences())
        [...];
    

    詳細については、「サーバー構成」章の内容を参照してください.