Pacotes NuGet do Orleans
Os consumidores do Orleans contam com vários pacotes NuGet para obter comportamentos desejados específicos. Há vários pacotes e abstrações comuns e muitos pacotes individuais de uso único. Este artigo fornece insights para ajudar os desenvolvedores a aprender quais pacotes do Orleans devem ser usados.
Pacotes de chaves
Você faz referência a um dos dois pacotes NuGet mutuamente exclusivos ao escrever aplicativos do Orleans, dependendo da carga de trabalho escolhida. Por exemplo, ao escrever um Silo do Orleans, você fará referência ao pacote NuGet Microsoft.Orleans.Server. Ao escrever um aplicativo cliente do Orleans, você fará referência ao pacote NuGet Microsoft.Orleans.Client. Todos os projetos do Orleans, como abstrações ou bibliotecas de classes de granularidade, fazem referência ao pacote NuGet Microsoft.Orleans.Sdk. O pacote Microsoft.Orleans.Sdk
está incluído nos pacotes Client
e Server
.
Pacote NuGet | Description |
---|---|
Microsoft.Orleans.Client | Pacote exclusivo do cliente, necessário para o cliente do Orleans. |
Microsoft.Orleans.Sdk | O metapacote exigido por todos os aplicativos, servidores e pacotes de cliente do Orleans dependem desse pacote. |
Microsoft.Orleans.Server | Pacote exclusivo do servidor, necessário para silos do Orleans. |
Para obter mais informações sobre como instalar pacotes NuGet, confira as seguintes opções:
Hosting
Pacote NuGet | Description |
---|---|
Microsoft.Orleans.Hosting.AzureCloudServices | Utilitários de hospedagem para Serviços de Nuvem do Azure do Orleans. |
Microsoft.Orleans.Hosting.Kubernetes | Suporte de hospedagem do Orleans para Kubernetes. |
Microsoft.Orleans.Runtime | Biblioteca de runtime principal do Orleans que hospeda e executa granularidades em um silo. |
Provedores de clustering
Pacote NuGet | Description |
---|---|
Microsoft.Orleans.Clustering.AzureStorage | Provedor de clustering do Orleans com suporte do Armazenamento de Tabelas do Azure. |
Microsoft.Orleans.Clustering.AdoNet | Provedor de clustering do Orleans com suporte do ADO.NET. |
Microsoft.Orleans.Clustering.DynamoDB | Provedor de clustering do Orleans com suporte do AWS DynamoDB. |
Provedores de lembrete
Pacote NuGet | Description |
---|---|
Microsoft.Orleans.Reminders | Biblioteca de lembretes para Microsoft Orleans usada no servidor. |
Microsoft.Orleans.Reminders.AzureStorage | Provedor de lembretes do Orleans com suporte do Armazenamento de Tabelas do Azure. |
Microsoft.Orleans.Reminders.AdoNet | Provedor de lembretes do Orleans com suporte do ADO.NET. |
Microsoft.Orleans.Reminders.DynamoDB | Provedor de lembretes do Orleans com suporte do AWS DynamoDB. |
Provedores de armazenamento de granularidade
Pacote NuGet | Description |
---|---|
Microsoft.Orleans.Persistence.AdoNet | Provedor de persistência do Orleans com suporte do ADO.NET. |
Microsoft.Orleans.Persistence.AzureStorage | Provedor de persistência do Orleans com suporte do Armazenamento de Tabelas do Azure. |
Microsoft.Orleans.Persistence.DynamoDB | Provedor de persistência do Orleans com suporte do AWS DynamoDB. |
Microsoft.Orleans.Persistence.Memory | Armazenamento na memória para o Orleans. |
Provedores de fluxo
Pacote NuGet | Description |
---|---|
Microsoft.Orleans.Streaming | Biblioteca de streaming para o Orleans usada no cliente e no servidor. |
Microsoft.Orleans.Streaming.AzureStorage | Provedor de streaming do Orleans com suporte do Armazenamento de Filas do Azure. |
Microsoft.Orleans.Streaming.EventHubs | Provedor de streaming do Orleans com suporte dos Hubs de Eventos do Azure. |
Microsoft.Orleans.Streaming.SQS | Provedor de streaming do Orleans com suporte do AWS SQS. |
Pacotes adicionais
Pacote NuGet | Description |
---|---|
Microsoft.Orleans.Analyzers | Analisadores de C# para Orleans. |
Microsoft.Orleans.CodeGenerator | Biblioteca de geração de código para Microsoft.Orleans.Serialization . |
Microsoft.Orleans.EventSourcing | Tipos base para criar granularidades do Orleans com estado de origem de evento. |
Microsoft.Orleans.Connections.Security | Suporte para comunicação de segurança usando TLS no Orleans. |
Desenvolvimento e teste
Pacote NuGet | Description |
---|---|
Microsoft.Orleans.TestingHost | Biblioteca do Orleans para hospedar um silo em um projeto de teste. |
Microsoft.Orleans.Transactions.TestKit.Base | Biblioteca base do kit de teste para transações. |
Microsoft.Orleans.Transactions.TestKit.xUnit | Biblioteca de kits de teste do xUnit para transações. |
Microsoft.Orleans.Serialization.TestKit | Kit de teste para projetos usando Microsoft.Orleans.Serialization . |
Serializadores
Pacote NuGet | Description |
---|---|
Microsoft.Orleans.Serialization | Serializador rápido, flexível e tolerante a versões para .NET. |
Microsoft.Orleans.Serialization.Abstractions | Abstrações de serialização para o Orleans. |
Microsoft.Orleans.Serialization.SystemTextJson | Integração System.Text.Json para Microsoft.Orleans.Serialization . |
Microsoft.Orleans.Serialization.FSharp | Suporte de tipo de núcleo F# para Microsoft.Orleans.Serialization . |
Microsoft.Orleans.Serialization.NewtonsoftJson | Integração Newtonsoft.Json para Microsoft.Orleans.Serialization . |
Transactions
Pacote NuGet | Description |
---|---|
Microsoft.Orleans.Transactions | Biblioteca de transações principais do Orleans usada no servidor. |
Microsoft.Orleans.Transactions.AzureStorage | Provedor de armazenamento de transações do Orleans com suporte do Armazenamento do Azure. |
Ferramentas
Uma ferramenta Orleans popular é o pacote NuGet OrleansDashboard. Esse painel fornece algumas métricas e insights simples sobre o que está acontecendo no seu aplicativo do Orleans. Para obter mais informações, consulte GitHub: Orleans Dashboard.
Pacotes de chaves
Existem cinco pacotes NuGet principais que você precisará usar na maioria dos cenários:
Abstrações principais do Orleans
Install-Package Microsoft.Orleans.Core.Abstractions
Contém o Orleans.Core.Abstractions.dll, que define os tipos públicos do Orleans necessários para desenvolver o código do aplicativo (interfaces e classes de granularidade). Esse pacote é necessário para ser referenciado direta ou indiretamente por qualquer projeto do Orleans. Adicione-o aos projetos que definemas interfaces e classes de granularidade.
Orleans geração de código para tempo de build
Microsoft.Orleans.OrleansCodeGenerator.Build.
Install-Package Microsoft.Orleans.OrleansCodeGenerator.Build
Apareceu no Orleans 1.2.0. Suporte ao tempo de compilação para interfaces de granularidade e projetos de implementação. Adicione-o às interfaces de granularidade e aos projetos de implementação para habilitar a geração de código das referências de granularidade e serializadores.
Microsoft.Orleans.CodeGenerator.MSBuild.
Install-Package Microsoft.Orleans.CodeGenerator.MSBuild
Apareceu como parte do Orleans 2.1.0. Uma alternativa para o pacote
Microsoft.Orleans.OrleansCodeGenerator.Build
. Utiliza o Roslyn para análise de código para evitar o carregamento de binários do aplicativo e melhora o suporte para compilações incrementais, o que deve resultar em tempos de compilação mais curtos.
Bibliotecas de servidor do Orleans
Install-Package Microsoft.Orleans.Server
Um metapacote para compilar e iniciar facilmente um silo. Inclui os seguintes pacotes:
Microsoft.Orleans.Core.Abstractions
Microsoft.Orleans.Core
Microsoft.Orleans.OrleansRuntime
Microsoft.Orleans.OrleansProviders
Bibliotecas de cliente do Orleans
Install-Package Microsoft.Orleans.Client
Um metapacote para compilar e iniciar facilmente um cliente do Orleans (front-end). Inclui os seguintes pacotes:
Microsoft.Orleans.Core.Abstractions
Microsoft.Orleans.Core
Microsoft.Orleans.OrleansProviders
Biblioteca principal do Orleans
Install-Package Microsoft.Orleans.Core
Contém a implementação da maioria dos tipos públicos do Orleans usados pelo código do aplicativo e pelos clientes do Orleans (front-ends). Referencie-o para compilar bibliotecas e aplicativos cliente que usam os tipos do Orleans, mas não lidam com hospedagem ou silos. Incluído nos metapacotes Microsoft.Orleans.Client e Microsoft.Orleans.Server e referenciado direta ou indiretamente pela maioria dos outros pacotes.
Hosting
Runtime doOrleans
Install-Package Microsoft.Orleans.OrleansRuntime
Biblioteca para configurar e iniciar um silo. Referencie-o no projeto de host do silo. Incluído no metapacote Microsoft.Orleans.Server.
Abstrações de runtime do Orleans
Install-Package Microsoft.Orleans.Runtime.Abstractions
Contém interfaces e abstrações para tipos implementados no Microsoft.Orleans.OrleansRuntime
.
Hospedagem do Orleans nos Serviços de Nuvem do Azure
Install-Package Microsoft.Orleans.Hosting.AzureCloudServices
Contém classes auxiliares para hospedar silos e clientes do Orleans como Serviços de Nuvem do Azure (Funções de Trabalho e Funções Web).
Suporte à hospedagem do Service Fabric no Orleans
Install-Package Microsoft.Orleans.Hosting.ServiceFabric
Contém as classes auxiliares para hospedar silos como serviço sem estado do Service Fabric.
Provedores de clustering
Os pacotes abaixo incluem plug-ins para manter dados de associação de cluster em várias tecnologias de armazenamento.
Provedor de clustering do Orleans para Armazenamentos de Tabelas do Azure
Install-Package Microsoft.Orleans.Clustering.AzureStorage
Inclui o plug-in para usar as Tabelas do Azure para armazenar dados de associação de cluster.
Provedor de clustering do Orleans para provedores do ADO.NET
Install-Package Microsoft.Orleans.Clustering.AdoNet
Inclui o plug-in para usar o ADO.NET para armazenar dados de associação de cluster em um dos bancos de dados com suporte.
Utilitários do Orleans Consul
Install-Package Microsoft.Orleans.OrleansConsulUtils
Inclui o plug-in para usar o Consul para armazenar dados de associação de cluster.
Utilitários do Orleans ZooKeeper
Install-Package Microsoft.Orleans.OrleansZooKeeperUtils
Inclui o plug-in para usar o ZooKeeper para armazenar dados de associação de cluster.
Provedor de clustering do Orleans para AWS DynamoDB
Install-Package Microsoft.Orleans.Clustering.DynamoDB
Inclui o plug-in para usar o AWS DynamoDB para armazenar dados de associação de cluster.
Provedores de lembrete
Os pacotes abaixo incluem plug-ins para lembretes persistentes em várias tecnologias de armazenamento.
Lembretes do Orleans para Armazenamento de Tabelas do Azure
Install-Package Microsoft.Orleans.Reminders.AzureStorage
Inclui o plug-in para usar as Tabelas do Azure para armazenar lembretes.
Lembretes do Orleans para provedores do ADO.NET
Install-Package Microsoft.Orleans.Reminders.AdoNet
Inclui o plug-in para usar o ADO.NET para armazenar lembretes em um dos bancos de dados com suporte.
Provedor de lembretes do Orleans para AWS DynamoDB
Install-Package Microsoft.Orleans.Reminders.DynamoDB
Inclui o plug-in para usar o AWS DynamoDB para armazenar lembretes.
Provedores de armazenamento de granularidade
Os pacotes abaixo incluem plug-ins para estado de granularidade persistente em várias tecnologias de armazenamento.
Persistência do Orleans para Armazenamento do Azure
Install-Package Microsoft.Orleans.Persistence.AzureStorage
Inclui os plug-ins para usar as Tabelas do Azure ou os Blobs do Azure para armazenar o estado de granularidade.
Persistência do Orleans para provedores do ADO.NET
Install-Package Microsoft.Orleans.Persistence.AdoNet
Inclui o plug-in para usar o ADO.NET para armazenar o estado de granularidade em um dos bancos de dados com suporte.
Persistência do Orleans para o DynamoDB
Install-Package Microsoft.Orleans.Persistence.DynamoDB
Inclui o plug-in para usar o AWS DynamoDB para armazenar o estado de granularidade.
Provedores de fluxo
Os pacotes abaixo incluem plug-ins para fornecer eventos de streaming.
Utilitários do Barramento de Serviço do Orleans
Install-Package Microsoft.Orleans.OrleansServiceBus
Inclui o provedor de streaming para Hubs de Eventos do Azure.
Orleans Streaming para Armazenamento do Azure
Install-Package Microsoft.Orleans.Streaming.AzureStorage
Inclui o provedor de streaming para Filas do Azure.
Orleans Streaming para AWS SQS
Install-Package Microsoft.Orleans.Streaming.SQS
Inclui o provedor de streaming para serviço SQS do AWS.
Utilitários da Google Cloud Platform no Orleans
Install-Package Microsoft.Orleans.OrleansGCPUtils
Inclui o provedor de streaming para serviço GCP PubSub.
Pacotes adicionais
Geração de código do Orleans
Install-Package Microsoft.Orleans.OrleansCodeGenerator
Inclui o gerador de código em tempo de execução.
Fornecimento de eventos do Orleans
Install-Package Microsoft.Orleans.EventSourcing
Contém um conjunto de tipos base para criar classes de granularidade com o estado de origem de evento.
Desenvolvimento e teste
Provedores do Orleans
Install-Package Microsoft.Orleans.OrleansProviders
Contém um conjunto de provedores de persistência e streaming que mantêm os dados na memória. Indicado para teste. Em geral, não é recomendado para uso em produção, a menos que a perda de dados em caso de falha de silo seja aceitável.
Biblioteca de hosts de teste do Orleans
Install-Package Microsoft.Orleans.TestingHost
Inclui a biblioteca para hospedar silos e clientes em um projeto de teste.
Serializadores
Serializador do Orleans Bond
Install-Package Microsoft.Orleans.Serialization.Bond
Inclui suporte para serializador de Bond.
Utilitários do Google no Orleans
Install-Package Microsoft.Orleans.OrleansGoogleUtils
Inclui o serializador de Buffers de Protocolo do Google.
Serializador protobuf-net no Orleans
Install-Package Microsoft.Orleans.ProtobufNet
Inclui a versão protobuf-net do serializador de Buffers de Protocolo.
Telemetria
Consumidor de telemetria do Orleans – Contadores de desempenho
Install-Package Microsoft.Orleans.OrleansTelemetryConsumers.Counters
Implementação de Contadores de Desempenho do Windows da API de Telemetria do Orleans.
Consumidor de telemetria do Orleans – Azure Application Insights
Install-Package Microsoft.Orleans.OrleansTelemetryConsumers.AI
Inclui o consumidor de telemetria do Azure Application Insights.
Consumidor de telemetria do Orleans – NewRelic
Install-Package Microsoft.Orleans.OrleansTelemetryConsumers.NewRelic
Inclui o consumidor de telemetria do NewRelic.
Transactions
Suporte para transações do Orleans
Install-Package Microsoft.Orleans.Transactions
Inclui suporte para transações entre granularidades (beta).
Transações do Orleans no Azure
Install-Package Microsoft.Orleans.Transactions.AzureStorage
Inclui um plug-in para log de transações persistente na Tabela do Azure (beta).
Ferramentas
Ferramenta Contador de Desempenho do Orleans
Install-Package Microsoft.Orleans.CounterControl
Inclui o OrleansCounterControl.exe
, que registra as categorias do contador de desempenho do Windows para estatísticas do Orleans e para classes de granularidade implantadas. Requer elevação. Pode ser executado no Azure como parte de uma tarefa de inicialização de função.