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 セクションは任意です。表示されない場合、すべてのマルチクラスター サポートがこのサイロでは無効になっています。
必須パラメーターの ClusterId と GossipChannels については、マルチクラスター通信に関するセクションで説明しています。
任意パラメーターの MaxMultiClusterGateways と BackgroundGossipInterval については、マルチクラスター通信に関するセクションで説明しています。
任意パラメーターの DefaultMultiCluster については、マルチクラスター構成に関するセクションで説明しています。
任意パラメーターの UseGlobalSingleInstanceByDefault、GlobalSingleInstanceRetryInterval、GlobalSingleInstanceNumberRetries については、グローバルシングルインスタンス グレインに関するセクションで説明しています。
Orleans クライアント構成
Orleans クライアントの場合、追加の構成は不要です。 同じクライアントがさまざまなクラスターのサイロに接続することはできないことがあります (そのような状況での接続はサイロに拒否されます)。
.NET