다음을 통해 공유


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다중 클러스터 구성의 섹션에 설명되어 있습니다.

선택적 매개 변수UseGlobalSingleInstanceByDefault, GlobalSingleInstanceRetryIntervalGlobalSingleInstanceNumberRetries글로벌 단일 인스턴스 조직의 섹션에 설명되어 있습니다.

Orleans 클라이언트 구성

Orleans 클라이언트에는 추가 구성이 필요하지 않습니다. 동일한 클라이언트가 다른 클러스터의 사일로에 연결되지 않을 수 있습니다(사일로는 해당 상황에서 연결을 거부합니다).