Pacchetti NuGet Orleans
I consumer di Orleans si basano su vari pacchetti NuGet per ottenere specifici comportamenti desiderati. Esistono diversi pacchetti e astrazioni comuni e molti singoli pacchetti finalizzati a un solo scopo. Questo articolo fornisce informazioni dettagliate che consentono agli sviluppatori di apprendere quali pacchetti Orleans usare.
Pacchetti chiave
Durante la scrittura di app Orleans si fa riferimento a uno di due pacchetti NuGet che si escludono a vicenda, a seconda del carico di lavoro scelto. Ad esempio, quando si scrive un silo Orleans, si farà riferimento al pacchetto NuGet Microsoft.Orleans.Server. Quando si scrive un'app Orleans client, si farà riferimento al pacchetto NuGet Microsoft.Orleans.Client. Tutti i progetti Orleans, ad esempio astrazioni o librerie di classi di grani, fanno riferimento al pacchetto NuGet Microsoft.Orleans.Sdk. Il pacchetto Microsoft.Orleans.Sdk
è incluso sia con il pacchetto Client
che con il pacchetto Server
.
Pacchetto NuGet | Descrizione |
---|---|
Microsoft.Orleans.Client | Pacchetto esclusivo del client, necessario per il client Orleans. |
Microsoft.Orleans.Sdk | Metapacchetto richiesto da tutte le app Orleans, i pacchetti server e client dipendono da questo pacchetto. |
Microsoft.Orleans.Server | Pacchetto esclusivo del server, necessario per i silos Orleans. |
Per informazioni sull'installazione di pacchetti NuGet, vedere le opzioni seguenti:
- Interfaccia della riga di comando di .NET: dotnet add package
- Modi per installare un pacchetto NuGet
Hosting
Pacchetto NuGet | Descrizione |
---|---|
Microsoft.Orleans.Hosting.AzureCloudServices | Utilità di hosting per i servizi cloud di Azure di Orleans. |
Microsoft.Orleans.Hosting.Kubernetes | Supporto di hosting di Orleans per Kubernetes. |
Microsoft.Orleans.Runtime | Libreria di runtime di base di Orleans che ospita ed esegue grani all'interno di un silo. |
Provider di clustering
Pacchetto NuGet | Descrizione |
---|---|
Microsoft.Orleans.Clustering.AzureStorage | Provider di clustering di Orleans supportato da Archiviazione tabelle di Azure. |
Microsoft.Orleans.Clustering.AdoNet | Provider di clustering di Orleans supportato da ADO.NET. |
Microsoft.Orleans.Clustering.DynamoDB | Provider di clustering di Orleans supportato da AWS DynamoDB. |
Provider di promemoria
Pacchetto NuGet | Descrizione |
---|---|
Microsoft.Orleans.Reminders | Libreria dei promemoria per Microsoft Orleans usata nel server. |
Microsoft.Orleans.Reminders.AzureStorage | Provider di promemoria di Orleans supportato da Archiviazione tabelle di Azure. |
Microsoft.Orleans.Reminders.AdoNet | Provider di promemoria di Orleans supportato da ADO.NET. |
Microsoft.Orleans.Reminders.DynamoDB | Provider di promemoria di Orleans supportato da AWS DynamoDB. |
Provider di archiviazione di grani
Pacchetto NuGet | Descrizione |
---|---|
Microsoft.Orleans.Persistence.AdoNet | Provider di persistenza di Orleans supportato da ADO.NET. |
Microsoft.Orleans.Persistence.AzureStorage | Provider di persistenza di Orleans supportato da Archiviazione tabelle di Azure. |
Microsoft.Orleans.Persistence.DynamoDB | Provider di persistenza di Orleans supportato da AWS DynamoDB. |
Microsoft.Orleans.Persistence.Memory | Archiviazione in memoria per Orleans. |
Provider di flusso
Pacchetto NuGet | Descrizione |
---|---|
Microsoft.Orleans.Streaming | Libreria di streaming per Orleans usata sia nel client che nel server. |
Microsoft.Orleans.Streaming.AzureStorage | Provider di streaming di Orleans supportato da Archiviazione code di Azure. |
Microsoft.Orleans.Streaming.EventHubs | Provider di streaming di Orleans supportato da Hub eventi di Azure. |
Microsoft.Orleans.Streaming.SQS | Provider di streaming di Orleans supportato da AWS SQS. |
Pacchetti aggiuntivi
Pacchetto NuGet | Descrizione |
---|---|
Microsoft.Orleans.Analyzers | Analizzatori C# per Orleans. |
Microsoft.Orleans.CodeGenerator | Libreria di generazione di codice per Microsoft.Orleans.Serialization . |
Microsoft.Orleans.EventSourcing | Tipi di base per la creazione di grani Orleans con stato di origine evento. |
Microsoft.Orleans.Connections.Security | Supporto per la comunicazione di sicurezza tramite TLS in Orleans. |
Sviluppo e test
Pacchetto NuGet | Descrizione |
---|---|
Microsoft.Orleans.TestingHost | Libreria di Orleans per l'hosting di un silo in un progetto di test. |
Microsoft.Orleans.Transactions.TestKit.Base | Libreria di kit di test di base per le transazioni. |
Microsoft.Orleans.Transactions.TestKit.xUnit | Libreria di kit di test xUnit per le transazioni. |
Microsoft.Orleans.Serialization.TestKit | Kit di test per i progetti che usano Microsoft.Orleans.Serialization . |
Serializzatori
Pacchetto NuGet | Descrizione |
---|---|
Microsoft.Orleans.Serialization | Serializzatore veloce, flessibile e a tolleranza di versione per .NET. |
Microsoft.Orleans.Serialization.Abstractions | Astrazioni di serializzazione per Orleans. |
Microsoft.Orleans.Serialization.SystemTextJson | Integrazione di System.Text.Json per Microsoft.Orleans.Serialization . |
Microsoft.Orleans.Serialization.FSharp | Supporto del tipo di core F# per Microsoft.Orleans.Serialization . |
Microsoft.Orleans.Serialization.NewtonsoftJson | Integrazione di Newtonsoft.Json per Microsoft.Orleans.Serialization . |
Transazioni
Pacchetto NuGet | Descrizione |
---|---|
Microsoft.Orleans.Transactions | Libreria di transazioni di base di Orleans usata nel server. |
Microsoft.Orleans.Transactions.AzureStorage | Provider di archiviazione delle transazioni di Orleans supportato da Archiviazione di Azure. |
Strumenti
Uno strumento Orleans diffuso è il pacchetto NuGet OrleansDashboard. Questo dashboard fornisce alcune semplici metriche e informazioni dettagliate su ciò che accade all'interno dell'appOrleans. Per altre informazioni, vedere GitHub: Orleans Dashboard.
Pacchetti chiave
Nella maggior parte degli scenari è necessario usare 5 pacchetti NuGet chiave:
Astrazioni di base di Orleans
Install-Package Microsoft.Orleans.Core.Abstractions
Contiene Orleans.Core.Abstractions.dll, che definisce i tipi pubblici di Orleans necessari per lo sviluppo di codice per le applicazioni (interfacce e classi di grani). A questo pacchetto è necessario fare riferimento direttamente o indirettamente da qualsiasi progetto Orleans. Aggiungerlo ai progetti che definiscono interfacce e classi di grani.
Generazione di codice in fase di compilazione di Orleans
Microsoft.Orleans.OrleansCodeGenerator.Build.
Install-Package Microsoft.Orleans.OrleansCodeGenerator.Build
È apparso in Orleans 1.2.0. Supporto in fase di compilazione per interfacce di grani e progetti di implementazione. Aggiungerlo alle interfacce di grani e ai progetti di implementazione per abilitare la generazione di codice di riferimenti di grani e serializzatori.
Microsoft.Orleans.CodeGenerator.MSBuild.
Install-Package Microsoft.Orleans.CodeGenerator.MSBuild
È apparso come parte di Orleans 2.1.0. Alternativa al pacchetto
Microsoft.Orleans.OrleansCodeGenerator.Build
. Sfrutta Roslyn per l'analisi del codice per evitare il caricamento dei file binari dell'applicazione e migliora il supporto per build incrementali, consentendo tempi di compilazione più brevi.
Librerie server di Orleans
Install-Package Microsoft.Orleans.Server
Meta-pacchetto per semplici operazioni di compilazione e avvio di un silo. Include i pacchetti seguenti:
Microsoft.Orleans.Core.Abstractions
Microsoft.Orleans.Core
Microsoft.Orleans.OrleansRuntime
Microsoft.Orleans.OrleansProviders
Librerie client di Orleans
Install-Package Microsoft.Orleans.Client
Meta-pacchetto per semplici operazioni di compilazione e avvio di un client Orleans (front-end). Include i pacchetti seguenti:
Microsoft.Orleans.Core.Abstractions
Microsoft.Orleans.Core
Microsoft.Orleans.OrleansProviders
Libreria di base di Orleans
Install-Package Microsoft.Orleans.Core
Contiene l'implementazione per la maggior parte dei tipi pubblici di Orleans usati dal codice delle applicazioni e dai client Orleans (front-end). Usarla per la creazione di librerie e applicazioni client che usano tipi di Orleans, ma che non gestiscono l'hosting o i silos. Inclusa nei meta-pacchetti Microsoft.Orleans.Client e Microsoft.Orleans.Server. Vi viene fatto riferimento, direttamente o indirettamente, dalla maggior parte degli altri pacchetti.
Hosting
Runtime di Orleans
Install-Package Microsoft.Orleans.OrleansRuntime
Libreria per la configurazione e l'avvio di un silo. Farvi riferimento nel progetto di hosting silo. Incluso nel meta-pacchetto Microsoft.Orleans.Server.
Astrazioni di runtime di Orleans
Install-Package Microsoft.Orleans.Runtime.Abstractions
Contiene interfacce e astrazioni per i tipi implementati in Microsoft.Orleans.OrleansRuntime
.
Hosting di Orleans in Servizi cloud di Azure
Install-Package Microsoft.Orleans.Hosting.AzureCloudServices
Contiene classi helper per l'hosting di silos e client Orleans come Servizi cloud di Azure (ruoli di lavoro e ruoli Web).
Supporto di Orleans per l'hosting di Service Fabric
Install-Package Microsoft.Orleans.Hosting.ServiceFabric
Contiene classi helper per l'hosting di silos come servizio Service Fabric senza stato.
Provider di clustering
I pacchetti seguenti includono plug-in per rendere persistenti i dati di appartenenza al cluster in varie tecnologie di archiviazione.
Provider di clustering di Orleans per Archiviazione tabelle di Azure
Install-Package Microsoft.Orleans.Clustering.AzureStorage
Include il plug-in per l'uso di Tabelle di Azure per l'archiviazione dei dati di appartenenza al cluster.
Provider di clustering di Orleans per provider ADO.NET
Install-Package Microsoft.Orleans.Clustering.AdoNet
Include il plug-in per l'uso di ADO.NET per l'archiviazione dei dati di appartenenza al cluster in uno dei database supportati.
Utilità console di Orleans
Install-Package Microsoft.Orleans.OrleansConsulUtils
Include il plug-in per l'uso di Consul per l'archiviazione dei dati di appartenenza al cluster.
Utilità ZooKeeper di Orleans
Install-Package Microsoft.Orleans.OrleansZooKeeperUtils
Include il plug-in per l'uso di ZooKeeper per l'archiviazione dei dati di appartenenza al cluster.
Provider di clustering di Orleans per AWS DynamoDB
Install-Package Microsoft.Orleans.Clustering.DynamoDB
Include il plug-in per l'uso di AWS DynamoDB per l'archiviazione dei dati di appartenenza al cluster.
Provider di promemoria
I pacchetti seguenti includono plug-in per rendere persistenti i promemoria in varie tecnologie di archiviazione.
Promemoria di Orleans per Archiviazione tabelle di Azure
Install-Package Microsoft.Orleans.Reminders.AzureStorage
Include il plug-in per l'uso di Tabelle di Azure per l'archiviazione di promemoria.
Promemoria di Orleans per provider ADO.NET
Install-Package Microsoft.Orleans.Reminders.AdoNet
Include il plug-in per l'uso di ADO.NET per l'archiviazione di promemoria in uno dei database supportati.
Provider di promemoria di Orleans per AWS DynamoDB
Install-Package Microsoft.Orleans.Reminders.DynamoDB
Include il plug-in per l'uso di AWS DynamoDB per l'archiviazione di promemoria.
Provider di archiviazione di grani
I pacchetti seguenti includono plug-in per rendere persistente lo stato dei grani in varie tecnologie di archiviazione.
Persistenza di Orleans per Archiviazione di Azure
Install-Package Microsoft.Orleans.Persistence.AzureStorage
Include i plug-in per l'uso di Tabelle di Azure o BLOB di Azure per l'archiviazione dello stato dei grani.
Persistenza di Orleans per provider ADO.NET
Install-Package Microsoft.Orleans.Persistence.AdoNet
Include il plug-in per l'uso di ADO.NET per l'archiviazione dello stato dei grani in uno dei database supportati.
Persistenza di Orleans per DynamoDB
Install-Package Microsoft.Orleans.Persistence.DynamoDB
Include il plug-in per l'uso di AWS DynamoDB per l'archiviazione dello stato dei grani.
Provider di flusso
I pacchetti seguenti includono plug-in per la distribuzione di eventi di streaming.
Utilità ServiceBus di Orleans
Install-Package Microsoft.Orleans.OrleansServiceBus
Include il provider di flussi per Hub eventi di Azure.
Streaming di Orleans per Archiviazione di Azure
Install-Package Microsoft.Orleans.Streaming.AzureStorage
Include il provider di flussi per Code di Azure.
Streaming di Orleans per AWS SQS
Install-Package Microsoft.Orleans.Streaming.SQS
Include il provider di flussi per il servizio AWS SQS.
Utilità di Orleans per Google Cloud Platform
Install-Package Microsoft.Orleans.OrleansGCPUtils
Include il provider di flussi per il servizio PubSub di GCP.
Pacchetti aggiuntivi
Generazione di codice di Orleans.
Install-Package Microsoft.Orleans.OrleansCodeGenerator
Include il generatore di codice di runtime.
Event-Sourcing di Orleans
Install-Package Microsoft.Orleans.EventSourcing
Contiene un set di tipi di base per la creazione di classi di grani con stato di origine evento.
Sviluppo e test
Provider di Orleans
Install-Package Microsoft.Orleans.OrleansProviders
Contiene un set di provider di persistenza e flusso che mantengono i dati in memoria. Destinato ai test. In generale è sconsigliabile l'uso in produzione, a meno che non sia accettabile la perdita di dati in caso di errore dei silos.
Libreria host di test di Orleans
Install-Package Microsoft.Orleans.TestingHost
Include la libreria per l'hosting di silos e client in un progetto di test.
Serializzatori
Serializzatore Bond di Orleans
Install-Package Microsoft.Orleans.Serialization.Bond
Include il supporto per serializzatore Bond.
Orleans per utilità Google
Install-Package Microsoft.Orleans.OrleansGoogleUtils
Include il serializzatore di buffer del protocollo Google.
Serializzatore protobuf-net di Orleans
Install-Package Microsoft.Orleans.ProtobufNet
Include la versione protobuf-net del serializzatore di buffer del protocollo.
Telemetria
Consumer di telemetria di Orleans - Contatori delle prestazioni
Install-Package Microsoft.Orleans.OrleansTelemetryConsumers.Counters
Implementazione dei contatori delle prestazioni di Windows dell'API di telemetria di Orleans.
Consumer di telemetria di Orleans - Azure Application Insights
Install-Package Microsoft.Orleans.OrleansTelemetryConsumers.AI
Include il consumer di telemetria per Azure Application Insights.
Consumer di telemetria di Orleans - NewRelic
Install-Package Microsoft.Orleans.OrleansTelemetryConsumers.NewRelic
Include il consumer di telemetria per NewRelic.
Transazioni
Supporto delle transazioni di Orleans
Install-Package Microsoft.Orleans.Transactions
Include il supporto per le transazioni tra grani (beta).
Transazioni di Orleans in Azure
Install-Package Microsoft.Orleans.Transactions.AzureStorage
Include un plug-in per rendere persistente il log delle transazioni in Tabelle di Azure (beta).
Strumenti
Contatore delle prestazioni di Orleans
Install-Package Microsoft.Orleans.CounterControl
Include OrleansCounterControl.exe
, che registra le categorie di contatori delle prestazioni di Windows per le statistiche Orleans e per le classi di grani distribuite. Richiede l'elevazione. Può essere eseguito in Azure come parte di un'attività di avvio del ruolo.