클라이언트 구성
사일로의 클러스터에 연결하고 조직에 요청을 보내기 위한 클라이언트는 IHostBuilder 및 몇 가지 추가 옵션 클래스를 통해 프로그래밍 방식으로 구성됩니다. 사일로 옵션과 마찬가지로 클라이언트 옵션 클래스는 .NET의 옵션 패턴을 따릅니다.
사일로의 클러스터에 연결하고 조직에 요청을 보내기 위한 클라이언트는 ClientBuilder 및 몇 가지 추가 옵션 클래스를 통해 프로그래밍 방식으로 구성됩니다. 사일로 옵션과 마찬가지로 클라이언트 옵션 클래스는 .NET의 옵션 패턴을 따릅니다.
팁
개발 목적으로 로컬 사일로 및 로컬 클라이언트를 시작하려는 경우 로컬 개발 구성을 참조하세요.
Microsoft.Orleans.Clustering.AzureStorage NuGet 패키지를 클라이언트 프로젝트에 추가합니다.
클라이언트 구성에는 다음과 같은 몇 가지 주요 측면이 있습니다.
- Orleans 클러스터링 정보
- 클러스터링 공급자
- 애플리케이션 파트
클라이언트 구성의 예:
var client = new HostBuilder()
.UseOrleansClient((context, clientBuilder) =>
{
clientBuilder.Configure<ClusterOptions>(options =>
{
options.ClusterId = "my-first-cluster";
options.ServiceId = "MyOrleansService";
})
.UseAzureStorageClustering(
options => options.ConfigureTableServiceClient(
context.Configuration["ORLEANS_AZURE_STORAGE_CONNECTION_STRING"]));
})
.Build();
using Orleans.Hosting;
var client = new ClientBuilder()
.Configure<ClusterOptions>(options =>
{
options.ClusterId = "my-first-cluster";
options.ServiceId = "MyOrleansService";
})
.UseAzureStorageClustering(
options => options.ConnectionString = connectionString)
.ConfigureApplicationParts(
parts => parts.AddApplicationPart(
typeof(IValueGrain).Assembly))
.Build();
이 샘플에 사용된 단계를 자세히 살펴보겠습니다.
Orleans 클러스터링 정보
.Configure<ClusterOptions>(options =>
{
options.ClusterId = "orleans-docker";
options.ServiceId = "AspNetSampleApp";
})
여기서는 다음 두 가지를 설정합니다.
- ClusterOptions.ClusterId를
"my-first-cluster"
로: 이는 Orleans 클러스터의 고유 ID입니다. 이 ID를 사용하는 모든 클라이언트와 사일로는 서로 직접 통신할 수 있습니다. 일부는 예를 들어 각 배포에 대해 다른ClusterId
를 사용하도록 선택합니다. - ClusterOptions.ServiceId를
"AspNetSampleApp"
으로 설정: 지속성 공급자와 같은 일부 공급자에서 사용할 애플리케이션에 대한 고유 ID입니다. 이 ID는 배포 전체에서 안정적(변경되지 않음)이어야 합니다.
클러스터링 공급자
.UseAzureStorageClustering(
options => options.ConfigureTableServiceClient(connectionString);
.UseAzureStorageClustering(
options => options.ConnectionString = connectionString)
클라이언트는 이 공급자를 사용하여 클러스터에서 사용할 수 있는 모든 게이트웨이를 검색합니다. 여러 공급자를 사용할 수 있습니다. 이 샘플에서는 Azure Table 공급자를 사용합니다.
자세한 내용은 서버 구성을 참조하세요.
애플리케이션 파트
.ConfigureApplicationParts(
parts => parts.AddApplicationPart(
typeof(IValueGrain).Assembly))
.WithReferences())
자세한 내용은 서버 구성을 참조하세요.
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET