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