次の方法で共有


Orleans サイロ構成

クイック概要を取得するために、(任意のものも含め) 関連するすべての構成パラメーターを XML 構文で示します。

<?xml version="1.0" encoding="utf-8"?>
<OrleansConfiguration xmlns="urn:orleans">
  <Globals>
    <MultiClusterNetwork
      ClusterId="clusterid"
      DefaultMultiCluster="uswest,europewest,useast"
      BackgroundGossipInterval="30s"
      UseGlobalSingleInstanceByDefault="false"
      GlobalSingleInstanceRetryInterval="30s"
      GlobalSingleInstanceNumberRetries="3"
      MaxMultiClusterGateways="10">
         <GossipChannel Type="..." ConnectionString="..."/>
         <GossipChannel Type="..." ConnectionString="..."/>
    </MultiClusterNetwork>
    <SystemStore ServiceId="some-guid" />
  </Globals>
</OrleansConfiguration>
var silo = new HostBuilder()
    .UseOrleans(builder =>
    {
        builder.Configure<ClusterInfo>(options =>
        {
            options.ClusterId = "us3";
            options.ServiceId = "myawesomeservice";
        })
        .Configure<MultiClusterOptions>(options =>
        {
            options.HasMultiClusterNetwork = true;
            options.DefaultMultiCluster = new[] { "us1", "eu1", "us2" };
            options.BackgroundGossipInterval = TimeSpan.FromSeconds(30);
            options.UseGlobalSingleInstanceByDefault = false;
            options.GlobalSingleInstanceRetryInterval = TimeSpan.FromSeconds(30);
            options.GlobalSingleInstanceNumberRetries = 3;
            options.MaxMultiClusterGateways = 10;
            options.GossipChannels.Add(
                "AzureTable",
                "DefaultEndpointsProtocol=https;AccountName=usa;AccountKey=...");
            options.GossipChannels.Add(
                "AzureTable",
                "DefaultEndpointsProtocol=https;AccountName=europe;AccountKey=...")
        });
    });

通常どおり、構成設定はすべて、GlobalConfiguration クラスのそれぞれのメンバーを介して、プログラミングで読み書きすることもできます。

GlobalConfiguration.ServiceId は、このサービスを特定するための任意の ID です。 すべてのクラスターとすべてのサイロで同じにする必要があります。

Orleans.Runtime.MultiClusterNetwork セクションは任意です。表示されない場合、すべてのマルチクラスター サポートがこのサイロでは無効になっています。

必須パラメーターClusterIdGossipChannels については、マルチクラスター通信に関するセクションで説明しています。

任意パラメーターの MaxMultiClusterGatewaysBackgroundGossipInterval については、マルチクラスター通信に関するセクションで説明しています。

任意パラメーターの DefaultMultiCluster については、マルチクラスター構成に関するセクションで説明しています。

任意パラメーターの UseGlobalSingleInstanceByDefaultGlobalSingleInstanceRetryIntervalGlobalSingleInstanceNumberRetries については、グローバルシングルインスタンス グレインに関するセクションで説明しています。

Orleans クライアント構成

Orleans クライアントの場合、追加の構成は不要です。 同じクライアントがさまざまなクラスターのサイロに接続することはできないことがあります (そのような状況での接続はサイロに拒否されます)。