Orleans NuGet 패키지
Orleans의 소비자는 원하는 특정 동작을 달성하기 위해 다양한 NuGet 패키지를 사용합니다. 몇 가지 일반적인 패키지와 추상화 및 여러 개별 단일 용도 패키지가 있습니다. 이 문서에서는 개발자가 사용해야 하는 Orleans 패키지를 학습하는 데 도움이 되는 인사이트를 제공합니다.
주요 패키지
선택한 워크로드에 따라 Orleans 앱을 작성할 때 두 개의 상호 배타적인 NuGet 패키지 중 하나를 참조합니다. 예를 들어 Orleans 사일로를 작성할 때 Microsoft.Orleans.Server NuGet 패키지를 참조하면 됩니다. Orleans 클라이언트 앱을 작성할 경우 Microsoft.Orleans.Client NuGet 패키지를 참조합니다. 추상화 또는 조직 클래스 라이브러리와 같은 모든 Orleans 프로젝트는 Microsoft.Orleans.Sdk NuGet 패키지를 참조합니다. Microsoft.Orleans.Sdk
패키지는 Client
및 Server
패키지 모두에 포함됩니다.
NuGet 패키지 | 설명 |
---|---|
Microsoft.Orleans.Client | Orleans 클라이언트에 필요한 클라이언트 전용 패키지입니다. |
Microsoft.Orleans.Sdk | 모든 Orleans 앱, 서버, 클라이언트 패키지에 필요한 메타패키지는 이 패키지에 따라 달라집니다. |
Microsoft.Orleans.Server | Orleans 사일로에 필요한 서버 전용 패키지입니다. |
NuGet 패키지 설치에 대한 자세한 내용은 다음 옵션을 참조하세요.
호스팅
NuGet 패키지 | 설명 |
---|---|
Microsoft.Orleans.Hosting.AzureCloudServices | Orleans의 Azure Cloud Services용 호스팅 유틸리티 |
Microsoft.Orleans.Hosting.Kubernetes | Kubernetes에 Orleans 호스팅 지원 |
Microsoft.Orleans.Runtime | 사일로 내에서 조직을 호스트하고 실행하는 Orleans의 핵심 런타임 라이브러리 |
클러스터링 공급자
NuGet 패키지 | 설명 |
---|---|
Microsoft.Orleans.Clustering.AzureStorage | Azure Table Storage에서 지원되는 Orleans 클러스터링 공급자 |
Microsoft.Orleans.Clustering.AdoNet | ADO.NET에서 지원되는 Orleans 클러스터링 공급자 |
Microsoft.Orleans.Clustering.DynamoDB | AWS DynamoDB에서 지원되는 Orleans 클러스터링 공급자 |
미리 알림 공급자
NuGet 패키지 | 설명 |
---|---|
Microsoft.Orleans.Reminders | 서버에 사용되는 Microsoft Orleans용 미리 알림 라이브러리 |
Microsoft.Orleans.Reminders.AzureStorage | Azure Table Storage에서 지원되는 Orleans 미리 알림 공급자 |
Microsoft.Orleans.Reminders.AdoNet | ADO.NET에서 지원되는 Orleans 미리 알림 공급자 |
Microsoft.Orleans.Reminders.DynamoDB | AWS DynamoDB에서 지원되는 Orleans 미리 알림 공급자 |
조직 스토리지 공급자
NuGet 패키지 | 설명 |
---|---|
Microsoft.Orleans.Persistence.AdoNet | ADO.NET에서 지원되는 Orleans 지속성 공급자 |
Microsoft.Orleans.Persistence.AzureStorage | Azure Table Storage에서 지원되는 Orleans 지속성 공급자 |
Microsoft.Orleans.Persistence.DynamoDB | AWS DynamoDB에서 지원되는 Orleans 지속성 공급자 |
Microsoft.Orleans.Persistence.Memory | Orleans용 메모리 내 스토리지 |
스트림 공급자
NuGet 패키지 | 설명 |
---|---|
Microsoft.Orleans.Streaming | 클라이언트와 서버 모두에서 사용되는 Orleans의 스트리밍 라이브러리 |
Microsoft.Orleans.Streaming.AzureStorage | Azure Queue Storage에서 지원되는 Orleans 스트리밍 공급자 |
Microsoft.Orleans.Streaming.EventHubs | Azure Event Hubs에서 지원되는 Orleans 스트리밍 공급자 |
Microsoft.Orleans.Streaming.SQS | AWS SQS에서 지원되는 Orleans 스트리밍 공급자 |
추가 패키지
NuGet 패키지 | 설명 |
---|---|
Microsoft.Orleans.Analyzers | Orleans용 C# 분석기 |
Microsoft.Orleans.CodeGenerator | Microsoft.Orleans.Serialization 용 코드 생성 라이브러리 |
Microsoft.Orleans.EventSourcing | 이벤트 소스 상태를 사용하여 Orleans 조직을 만들기 위한 기본 형식 |
Microsoft.Orleans.Connections.Security | Orleans에서 TLS를 사용하는 보안 통신 지원 |
개발 및 테스트
NuGet 패키지 | 설명 |
---|---|
Microsoft.Orleans.TestingHost | 테스트 프로젝트에서 사일로를 호스트하기 위한 Orleans 라이브러리 |
Microsoft.Orleans.Transactions.TestKit.Base | 트랜잭션의 테스트 키트 기본 라이브러리 |
Microsoft.Orleans.Transactions.TestKit.xUnit | 트랜잭션의 xUnit 테스트 키트 라이브러리 |
Microsoft.Orleans.Serialization.TestKit | Microsoft.Orleans.Serialization 을 사용하는 프로젝트용 테스트 키트 |
직렬 변환기
NuGet 패키지 | 설명 |
---|---|
Microsoft.Orleans.Serialization | 빠르고 유연하며 버전 독립적인 .NET용 직렬 변환기 |
Microsoft.Orleans.Serialization.Abstractions | Orleans용 Serialization 추상화 |
Microsoft.Orleans.Serialization.SystemTextJson | Microsoft.Orleans.Serialization 을 위한 System.Text.Json 통합 |
Microsoft.Orleans.Serialization.FSharp | Microsoft.Orleans.Serialization 에 대한 F# 코어 형식 지원 |
Microsoft.Orleans.Serialization.NewtonsoftJson | Microsoft.Orleans.Serialization 을 위한 Newtonsoft.Json 통합 |
트랜잭션
NuGet 패키지 | 설명 |
---|---|
Microsoft.Orleans.Transactions | 서버에서 사용되는 Orleans의 핵심 트랜잭션 라이브러리 |
Microsoft.Orleans.Transactions.AzureStorage | Azure Storage에서 지원되는 Orleans 트랜잭션 스토리지 공급자 |
도구
인기 있는 Orleans 도구는 OrleansDashboard NuGet 패키지입니다. 이 대시보드는 Orleans 앱 내에서 발생하는 상황에 대한 몇 가지 간단한 메트릭과 인사이트를 제공합니다. 자세한 내용은 GitHub: Orleans 대시보드를 참조하세요.
주요 패키지
대부분의 시나리오에서 사용해야 하는 5가지 주요 NuGet 패키지가 있습니다.
Orleans 핵심 추상화
Install-Package Microsoft.Orleans.Core.Abstractions
애플리케이션 코드(조직 인터페이스 및 클래스)를 개발하는 데 필요한 Orleans public 형식을 정의하는 Orleans.Core.Abstractions.dll을 포함합니다. 이 패키지는 모든 Orleans 프로젝트에서 직접 또는 간접적으로 참조되어야 합니다. 조직 인터페이스 및 클래스를 정의하는 프로젝트에 추가합니다.
Orleans 빌드 시간 코드 생성
Microsoft.Orleans.OrleansCodeGenerator.Build.
Install-Package Microsoft.Orleans.OrleansCodeGenerator.Build
Orleans 1.2.0에 표시 조직 인터페이스 및 구현 프로젝트에 대한 빌드 시간 지원을 제공합니다. 조직 인터페이스 및 구현 프로젝트에 추가하여 조직 참조 및 직렬 변환기의 코드 생성을 사용하도록 설정합니다.
Microsoft.Orleans.CodeGenerator.MSBuild.
Install-Package Microsoft.Orleans.CodeGenerator.MSBuild
Orleans 2.1.0의 일부로 표시
Microsoft.Orleans.OrleansCodeGenerator.Build
패키지에 대한 대안입니다. 코드 분석에 Roslyn을 활용하여 애플리케이션 이진 파일 로드를 방지하고 증분 빌드에 대한 지원을 개선하므로 빌드 시간이 단축됩니다.
Orleans 서버 라이브러리
Install-Package Microsoft.Orleans.Server
사일로를 쉽게 빌드하고 시작하기 위한 메타 패키지입니다. 다음 패키지를 포함합니다.
Microsoft.Orleans.Core.Abstractions
Microsoft.Orleans.Core
Microsoft.Orleans.OrleansRuntime
Microsoft.Orleans.OrleansProviders
Orleans 클라이언트 라이브러리
Install-Package Microsoft.Orleans.Client
Orleans 클라이언트(프런트 엔드)를 쉽게 빌드하고 시작하기 위한 메타 패키지입니다. 다음 패키지를 포함합니다.
Microsoft.Orleans.Core.Abstractions
Microsoft.Orleans.Core
Microsoft.Orleans.OrleansProviders
Orleans 핵심 라이브러리
Install-Package Microsoft.Orleans.Core
애플리케이션 코드 및 Orleans 클라이언트(프런트 엔드)에서 사용하는 대부분의 Orleans public 형식에 대한 구현을 포함합니다. Orleans 형식을 사용하지만 호스팅 또는 사일로를 처리하지 않는 라이브러리 및 클라이언트 애플리케이션을 빌드하기 위해 참조합니다. Microsoft.Orleans.Client 및 Orleans.Server 메타 패키지에 포함되며 대부분의 다른 패키지에서 직접 또는 간접적으로 참조됩니다.
호스팅
Orleans 런타임
Install-Package Microsoft.Orleans.OrleansRuntime
사일로를 구성하고 시작하기 위한 라이브러리입니다. 사일로 호스트 프로젝트에서 참조합니다. Microsoft.Orleans.Server 메타 패키지에 포함되어 있습니다.
Orleans 런타임 추상화
Install-Package Microsoft.Orleans.Runtime.Abstractions
Microsoft.Orleans.OrleansRuntime
에서 구현된 형식에 대한 인터페이스 및 추상화가 포함되어 있습니다.
Orleans Azure Cloud Services에서 호스팅
Install-Package Microsoft.Orleans.Hosting.AzureCloudServices
사일로 및 Orleans 클라이언트를 Azure Cloud Services로 호스팅하기 위한 도우미 클래스(작업자 역할 및 웹 역할)를 포함합니다.
Orleans Service Fabric 호스팅 지원
Install-Package Microsoft.Orleans.Hosting.ServiceFabric
사일로를 상태 비저장 Service Fabric 서비스로 호스팅하기 위한 도우미 클래스를 포함합니다.
클러스터링 공급자
아래 패키지에는 다양한 스토리지 기술에서 클러스터 멤버 자격 데이터를 유지하기 위한 플러그 인이 포함됩니다.
Azure Table Storage용 Orleans 클러스터링 공급자
Install-Package Microsoft.Orleans.Clustering.AzureStorage
클러스터 멤버 자격 데이터를 저장하는 데 Azure Tables를 사용하기 위한 플러그 인을 포함합니다.
ADO.NET 공급자용 Orleans 클러스터링 공급자
Install-Package Microsoft.Orleans.Clustering.AdoNet
지원되는 데이터베이스 중 하나에 클러스터 멤버 자격 데이터를 저장하는 데 ADO.NET을 사용하기 위한 플러그 인을 포함합니다.
Orleans 유틸리티
Install-Package Microsoft.Orleans.OrleansConsulUtils
클러스터 멤버 자격 데이터를 저장하는 데 Consul을 사용하기 위한 플러그 인을 포함합니다.
Orleans ZooKeeper 유틸리티
Install-Package Microsoft.Orleans.OrleansZooKeeperUtils
클러스터 멤버 자격 데이터를 저장하는 데 ZooKeeper를 사용하기 위한 플러그 인을 포함합니다.
AWS DynamoDB용 Orleans 클러스터링 공급자
Install-Package Microsoft.Orleans.Clustering.DynamoDB
클러스터 멤버 자격 데이터를 저장하는 데 AWS DynamoDB를 사용하기 위한 플러그 인을 포함합니다.
미리 알림 공급자
아래 패키지에는 다양한 스토리지 기술에서 미리 알림을 유지하기 위한 플러그 인이 포함됩니다.
Orleans 미리 알림 Azure Table Storage
Install-Package Microsoft.Orleans.Reminders.AzureStorage
미리 알림을 저장하는 데 Azure Tables를 사용하기 위한 플러그 인을 포함합니다.
Orleans 미리 알림 ADO.NET 공급자
Install-Package Microsoft.Orleans.Reminders.AdoNet
지원되는 데이터베이스 중 하나에 미리 알림을 저장하는 데 ADO.NET을 사용하기 위한 플러그 인을 포함합니다.
AWS DynamoDB용 Orleans 미리 알림 공급자
Install-Package Microsoft.Orleans.Reminders.DynamoDB
미리 알림을 저장하는 데 AWS DynamoDB를 사용하기 위한 플러그 인을 포함합니다.
조직 스토리지 공급자
아래 패키지에는 다양한 스토리지 기술에서 조직 상태를 유지하기 위한 플러그 인이 포함됩니다.
Orleans 지속성 Azure Storage
Install-Package Microsoft.Orleans.Persistence.AzureStorage
조직 상태를 저장하는 데 Azure Tables 또는 Azure Blob을 사용하기 위한 플러그 인을 포함합니다.
Orleans 지속성 ADO.NET 공급자
Install-Package Microsoft.Orleans.Persistence.AdoNet
지원되는 데이터베이스 중 하나에 조직 상태를 저장하는 데 ADO.NET을 사용하기 위한 플러그 인을 포함합니다.
Orleans 지속성 DynamoDB
Install-Package Microsoft.Orleans.Persistence.DynamoDB
조직 상태를 저장하는 데 AWS DynamoDB를 사용하기 위한 플러그 인을 포함합니다.
스트림 공급자
아래 패키지에는 스트리밍 이벤트를 전달하기 위한 플러그 인이 포함됩니다.
Orleans ServiceBus 유틸리티
Install-Package Microsoft.Orleans.OrleansServiceBus
Azure Event Hubs용 스트림 공급자를 포함합니다.
Orleans 스트리밍 Azure Storage
Install-Package Microsoft.Orleans.Streaming.AzureStorage
Azure Queues용 스트림 공급자를 포함합니다.
Orleans 스트리밍 AWS SQS
Install-Package Microsoft.Orleans.Streaming.SQS
AWS SQS 서비스용 스트림 공급자를 포함합니다.
Orleans Google Cloud Platform 유틸리티
Install-Package Microsoft.Orleans.OrleansGCPUtils
GCP PubSub 서비스용 스트림 공급자를 포함합니다.
추가 패키지
Orleans 코드 생성
Install-Package Microsoft.Orleans.OrleansCodeGenerator
런타임 코드 생성기를 포함합니다.
Orleans 이벤트 소싱
Install-Package Microsoft.Orleans.EventSourcing
이벤트 소스 상태를 사용하여 조직 클래스를 만들기 위한 기본 형식 세트를 포함합니다.
개발 및 테스트
Orleans 공급자
Install-Package Microsoft.Orleans.OrleansProviders
메모리에 데이터를 유지하는 지속성 및 스트림 공급자 세트를 포함합니다. 테스트용입니다. 일반적으로 사일로 오류로 인한 데이터 손실이 허용되지 않는다면 프로덕션에는 사용하지 않는 것이 좋습니다.
Orleans 테스트 호스트 라이브러리
Install-Package Microsoft.Orleans.TestingHost
테스트 프로젝트에서 사일로 및 클라이언트를 호스팅하기 위한 라이브러리를 포함합니다.
직렬 변환기
Orleans Bond 직렬 변환기
Install-Package Microsoft.Orleans.Serialization.Bond
Bond 직렬 변환기에 대한 지원이 포함됩니다.
Orleans Google 유틸리티
Install-Package Microsoft.Orleans.OrleansGoogleUtils
Google 프로토콜 버퍼 직렬 변환기를 포함합니다.
Orleans protobuf-net 직렬 변환기
Install-Package Microsoft.Orleans.ProtobufNet
프로토콜 버퍼 직렬 변환기의 protobuf-net 버전을 포함합니다.
원격
Orleans 원격 분석 소비자 - 성능 카운터
Install-Package Microsoft.Orleans.OrleansTelemetryConsumers.Counters
Orleans 원격 분석 API의 Windows 성능 카운터 구현입니다.
Orleans 원격 분석 소비자 - Azure Application Insights
Install-Package Microsoft.Orleans.OrleansTelemetryConsumers.AI
Azure Application Insights용 원격 분석 소비자를 포함합니다.
Orleans 원격 분석 소비자 - NewRelic
Install-Package Microsoft.Orleans.OrleansTelemetryConsumers.NewRelic
NewRelic용 원격 분석 소비자를 포함합니다.
트랜잭션
Orleans 트랜잭션 지원
Install-Package Microsoft.Orleans.Transactions
크로스 조직 트랜잭션(베타)에 대한 지원을 포함합니다.
Azure의 Orleans 트랜잭션
Install-Package Microsoft.Orleans.Transactions.AzureStorage
Azure Table(베타)에서 트랜잭션 로그를 유지하기 위한 플러그 인을 포함합니다.
도구
Orleans 성능 카운터 도구
Install-Package Microsoft.Orleans.CounterControl
Orleans 통계 및 배포된 조직 클래스에 대한 Windows 성능 카운터 범주를 등록하는 OrleansCounterControl.exe
가 포함되어 있습니다. 권한 상승이 필요합니다. 역할 시작 작업의 일부로 Azure에서 실행할 수 있습니다.
.NET