Condividi tramite


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:

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.