Paquetes NuGet Orleans
Los consumidores de Orleans dependen de varios paquetes NuGet para lograr comportamientos deseados específicos. Hay varios paquetes y abstracciones comunes, y muchos paquetes individuales de propósito único. En este artículo se proporciona información para ayudar a los desarrolladores a aprender qué paquetes de Orleans se deben usar.
Paquetes principales
Se hace referencia a uno de los dos paquetes NuGet mutuamente excluyentes al escribir aplicaciones de Orleans, en función de la carga de trabajo elegida. Por ejemplo, al escribir un silo de Orleans, hará referencia al paquete NuGet Microsoft.Orleans.Server. Al escribir una aplicación cliente de Orleans, hará referencia al paquete NuGet Microsoft.Orleans.Client. Todos los proyectos de Orleans, como abstracciones o bibliotecas de clases de grano, hacen referencia al paquete NuGet Microsoft.Orleans.Sdk. El paquete Microsoft.Orleans.Sdk
se incluye con los paquetes Client
y Server
.
Detección de | Descripción |
---|---|
Microsoft.Orleans.Client | Paquete exclusivo de cliente, necesario para el cliente de Orleans. |
Microsoft.Orleans.Sdk | Metapaquete requerido por todas las aplicaciones de Orleans; los paquetes de servidor y cliente dependen de este paquete. |
Microsoft.Orleans.Server | Paquete exclusivo de servidor, necesario para los silos de Orleans. |
Para más información sobre cómo instalar paquetes NuGet, consulte las siguientes opciones:
Hospedaje
Detección de | Descripción |
---|---|
Microsoft.Orleans.Hosting.AzureCloudServices | Hospedaje de utilidades para Azure Cloud Services de Orleans. |
Microsoft.Orleans.Hosting.Kubernetes | Compatibilidad con el hospedaje de Orleans para Kubernetes. |
Microsoft.Orleans.Runtime | Biblioteca principal en tiempo de ejecución de Orleans que hospeda y ejecuta granos en un silo. |
Proveedores de agrupación en clústeres
Detección de | Descripción |
---|---|
Microsoft.Orleans.Clustering.AzureStorage | Proveedor de agrupación en clústeres de Orleans respaldado por Azure Table Storage. |
Microsoft.Orleans.Clustering.AdoNet | Proveedor de agrupación en clústeres de Orleans respaldado por ADO.NET. |
Microsoft.Orleans.Clustering.DynamoDB | Proveedor de agrupación en clústeres de Orleans respaldado por AWS DynamoDB. |
Proveedores de recordatorios
Detección de | Descripción |
---|---|
Microsoft.Orleans.Reminders | Biblioteca de recordatorios de Microsoft Orleans usada en el servidor. |
Microsoft.Orleans.Reminders.AzureStorage | Proveedor de recordatorios de Orleans respaldado por Azure Table Storage. |
Microsoft.Orleans.Reminders.AdoNet | Proveedor de recordatorios de Orleans respaldado por ADO.NET. |
Microsoft.Orleans.Reminders.DynamoDB | Proveedor de recordatorios de Orleans respaldado por AWS DynamoDB. |
Proveedores de almacenamiento de granos
Detección de | Descripción |
---|---|
Microsoft.Orleans.Persistence.AdoNet | Proveedor de persistencia de Orleans respaldado por ADO.NET. |
Microsoft.Orleans.Persistence.AzureStorage | Proveedor de persistencia de Orleans respaldado por Azure Table Storage. |
Microsoft.Orleans.Persistence.DynamoDB | Proveedor de persistencia de Orleans respaldado por AWS DynamoDB. |
Microsoft.Orleans.Persistence.Memory | Almacenamiento en memoria para Orleans. |
Proveedores de secuencias
Detección de | Descripción |
---|---|
Microsoft.Orleans.Streaming | Biblioteca de streaming para Orleans usada tanto en el cliente como en el servidor. |
Microsoft.Orleans.Streaming.AzureStorage | Proveedor de streaming de Orleans respaldado por Azure Queue Storage. |
Microsoft.Orleans.Streaming.EventHubs | Proveedor de streaming de Orleans respaldado por Azure Event Hubs. |
Microsoft.Orleans.Streaming.SQS | Proveedor de streaming de Orleans respaldado por AWS SQS. |
Paquetes adicionales
Detección de | Descripción |
---|---|
Microsoft.Orleans.Analyzers | Analizadores de C# para Orleans. |
Microsoft.Orleans.CodeGenerator | Biblioteca de generación de código para Microsoft.Orleans.Serialization . |
Microsoft.Orleans.EventSourcing | Tipos base para crear granos de Orleans con estado de origen de eventos. |
Microsoft.Orleans.Connections.Security | Compatibilidad con la comunicación de seguridad mediante TLS en Orleans. |
Desarrollo y pruebas
Detección de | Descripción |
---|---|
Microsoft.Orleans.TestingHost | Biblioteca de Orleans para hospedar un silo en un proyecto de prueba. |
Microsoft.Orleans.Transactions.TestKit.Base | Biblioteca base del kit de pruebas para transacciones. |
Microsoft.Orleans.Transactions.TestKit.xUnit | Biblioteca del kit de pruebas de xUnit para transacciones. |
Microsoft.Orleans.Serialization.TestKit | Kit de prueba para proyectos que usan Microsoft.Orleans.Serialization . |
Serializadores
Detección de | Descripción |
---|---|
Microsoft.Orleans.Serialization | Serializador rápido, flexible y tolerante a versiones para .NET. |
Microsoft.Orleans.Serialization.Abstractions | Abstracciones de serialización para Orleans. |
Microsoft.Orleans.Serialization.SystemTextJson | Integración de System.Text.Json para Microsoft.Orleans.Serialization . |
Microsoft.Orleans.Serialization.FSharp | Compatibilidad con tipos principales de F# para Microsoft.Orleans.Serialization . |
Microsoft.Orleans.Serialization.NewtonsoftJson | Integración de Newtonsoft.Json para Microsoft.Orleans.Serialization . |
Transacciones
Detección de | Descripción |
---|---|
Microsoft.Orleans.Transactions | Biblioteca de transacciones principales de Orleans usada en el servidor. |
Microsoft.Orleans.Transactions.AzureStorage | Proveedor de almacenamiento de transacciones de Orleans respaldado por Azure Storage. |
Herramientas
Una herramienta popular de Orleans es el paquete NuGet OrleansDashboard. Este panel proporciona algunas métricas sencillas e información sobre lo que sucede dentro de la aplicación Orleans. Para más información, consulte GitHub: Panel de Orleans.
Paquetes principales
Hay cinco paquetes NuGet principales que necesitará usar en la mayoría de los escenarios:
Abstracciones principales de Orleans
Install-Package Microsoft.Orleans.Core.Abstractions
Contiene Orleans.Core.Abstractions.dll, que define los tipos públicos de Orleans necesarios para desarrollar código de aplicación (interfaces y clases de grano). Se debe hacer referencia directa o indirectamente a este paquete en cualquier proyecto de Orleans. Agréguelo a los proyectos que definen interfaces y clases de grano.
Generación de código de tiempo de compilación de Orleans
Microsoft.Orleans.OrleansCodeGenerator.Build.
Install-Package Microsoft.Orleans.OrleansCodeGenerator.Build
Apareció en Orleans 1.2.0. Incluye compatibilidad en tiempo de compilación para interfaces de grano y proyectos de implementación. Agréguelo a sus interfaces de grano y proyectos de implementación para habilitar la generación de código de serializadores y referencias de grano.
Microsoft.Orleans.CodeGenerator.MSBuild.
Install-Package Microsoft.Orleans.CodeGenerator.MSBuild
Apareció por primera vez como parte de Orleans 2.1.0. Es una alternativa al paquete
Microsoft.Orleans.OrleansCodeGenerator.Build
. Usa Roslyn para el análisis de código con el fin de evitar cargar archivos binarios de aplicación y mejora la compatibilidad con las compilaciones incrementales, lo que debería dar como resultado tiempos de compilación más cortos.
Bibliotecas de servidor de Orleans
Install-Package Microsoft.Orleans.Server
Se trata de un metapaquete para compilar e iniciar fácilmente un silo. Incluye los paquetes siguientes:
Microsoft.Orleans.Core.Abstractions
Microsoft.Orleans.Core
Microsoft.Orleans.OrleansRuntime
Microsoft.Orleans.OrleansProviders
Bibliotecas cliente de Orleans
Install-Package Microsoft.Orleans.Client
Un metapaquete para compilar e iniciar fácilmente un cliente de Orleans (front-end). Incluye los paquetes siguientes:
Microsoft.Orleans.Core.Abstractions
Microsoft.Orleans.Core
Microsoft.Orleans.OrleansProviders
Biblioteca principal de Orleans
Install-Package Microsoft.Orleans.Core
Contiene una implementación de la mayoría de los tipos públicos de Orleans usados por el código de la aplicación y los clientes de Orleans (front-end). Haga referencia a ella para compilar bibliotecas y aplicaciones cliente que usan tipos de Orleans, pero que no se ocupan del hospedaje o de los silos. Se incluye en los metapaquetes Microsoft.Orleans.Client y Microsoft.Orleans.Server, y la mayoría de los demás paquetes hacen referencia directa o indirectamente a ella.
Hosting
Entorno de ejecución de Orleans
Install-Package Microsoft.Orleans.OrleansRuntime
Se trata de una biblioteca para configurar e iniciar un silo. Haga referencia a ella en el proyecto de host de silo. Se incluye en el metapaquete Microsoft.Orleans.Server.
Abstracciones del entorno de ejecución de Orleans
Install-Package Microsoft.Orleans.Runtime.Abstractions
Contiene interfaces y abstracciones para los tipos implementados en Microsoft.Orleans.OrleansRuntime
.
Hospedaje de Orleans en Azure Cloud Services
Install-Package Microsoft.Orleans.Hosting.AzureCloudServices
Contiene clases auxiliares para hospedar silos y clientes de Orleans como Azure Cloud Services (roles de trabajo y roles web).
Compatibilidad con el hospedaje de Service Fabric en Orleans
Install-Package Microsoft.Orleans.Hosting.ServiceFabric
Contiene clases auxiliares para hospedar silos como un servicio de Service Fabric sin estado.
Proveedores de agrupación en clústeres
Los paquetes siguientes incluyen complementos para conservar los datos de pertenencia a un clúster en varias tecnologías de almacenamiento.
Proveedor de agrupación en clústeres de Orleans para Azure Table Storage
Install-Package Microsoft.Orleans.Clustering.AzureStorage
Incluye el complemento para usar tablas de Azure para almacenar los datos de pertenencia a un clúster.
Proveedor de agrupación en clústeres de Orleans para proveedores de ADO.NET
Install-Package Microsoft.Orleans.Clustering.AdoNet
Incluye el complemento para usar ADO.NET para almacenar los datos de pertenencia a un clúster en una de las bases de datos admitidas.
Utilidades de Consul en Orleans
Install-Package Microsoft.Orleans.OrleansConsulUtils
Incluye el complemento para usar Consul para almacenar los datos de pertenencia a un clúster.
Utilidades de ZooKeeper en Orleans
Install-Package Microsoft.Orleans.OrleansZooKeeperUtils
Incluye el complemento para usar ZooKeeper para almacenar los datos de pertenencia a un clúster.
Proveedor de agrupación en clústeres de Orleans para AWS DynamoDB
Install-Package Microsoft.Orleans.Clustering.DynamoDB
Incluye el complemento para usar AWS DynamoDB para almacenar los datos de pertenencia a un clúster.
Proveedores de recordatorios
Los paquetes siguientes incluyen complementos para conservar recordatorios en varias tecnologías de almacenamiento.
Recordatorios de Orleans en Azure Table Storage
Install-Package Microsoft.Orleans.Reminders.AzureStorage
Incluye el complemento para usar tablas de Azure para almacenar recordatorios.
Recordatorios de Orleans en proveedores de ADO.NET
Install-Package Microsoft.Orleans.Reminders.AdoNet
Incluye el complemento para usar ADO.NET para almacenar recordatorios en una de las bases de datos admitidas.
Proveedor de recordatorios de Orleans para AWS DynamoDB
Install-Package Microsoft.Orleans.Reminders.DynamoDB
Incluye el complemento para usar AWS DynamoDB para almacenar recordatorios.
Proveedores de almacenamiento de granos
Los paquetes siguientes incluyen complementos para conservar el estado de los granos en varias tecnologías de almacenamiento.
Proveedor de persistencia de Orleans respaldado por Azure Storage
Install-Package Microsoft.Orleans.Persistence.AzureStorage
Incluye los complementos para usar tablas o blobs de Azure para almacenar el estado de los granos.
Proveedor de persistencia de Orleans respaldado por ADO.NET
Install-Package Microsoft.Orleans.Persistence.AdoNet
Incluye el complemento para usar ADO.NET para almacenar el estado de los granos en una de las bases de datos admitidas.
Proveedor de persistencia de Orleans respaldado por DynamoDB
Install-Package Microsoft.Orleans.Persistence.DynamoDB
Incluye el complemento para usar AWS DynamoDB para almacenar el estado de los granos.
Proveedores de secuencias
Los paquetes siguientes incluyen complementos para entregar eventos de streaming.
Utilidades de ServiceBus de Orleans
Install-Package Microsoft.Orleans.OrleansServiceBus
Incluye el proveedor de secuencias para Azure Event Hubs.
Proveedor de streaming de Orleans respaldado por Azure Storage
Install-Package Microsoft.Orleans.Streaming.AzureStorage
Incluye el proveedor de secuencias para colas de Azure.
Proveedor de streaming de Orleans respaldado por AWS SQS
Install-Package Microsoft.Orleans.Streaming.SQS
Incluye el proveedor de secuencias para el servicio AWS SQS.
Utilidades de Google Cloud Platform en Orleans
Install-Package Microsoft.Orleans.OrleansGCPUtils
Incluye el proveedor de secuencias para el servicio GCP PubSub.
Paquetes adicionales
Generación de código de Orleans
Install-Package Microsoft.Orleans.OrleansCodeGenerator
Incluye el generador de código en tiempo de ejecución.
Origen de eventos de Orleans
Install-Package Microsoft.Orleans.EventSourcing
Contiene un conjunto de tipos base para crear clases de grano con estado originado en eventos.
Desarrollo y pruebas
Proveedores de Orleans
Install-Package Microsoft.Orleans.OrleansProviders
Contiene un conjunto de proveedores de persistencia y secuencias que conservan los datos en memoria. Está destinado para las pruebas. En general, no se recomienda para su uso en producción, a menos que la pérdida de datos en caso de error del silo sea aceptable.
Biblioteca de host de pruebas de Orleans
Install-Package Microsoft.Orleans.TestingHost
Incluye la biblioteca para hospedar silos y clientes en un proyecto de prueba.
Serializadores
Serializador Bond de Orleans
Install-Package Microsoft.Orleans.Serialization.Bond
Incluye compatibilidad con el serializador de Bond.
Utilidades de Google en Orleans
Install-Package Microsoft.Orleans.OrleansGoogleUtils
Incluye el serializador de Protocol Buffers de Google.
Serializador protobuf-net en Orleans
Install-Package Microsoft.Orleans.ProtobufNet
Incluye la versión protobuf-net del serializador de Protocol Buffers.
Telemetría
Consumidor de telemetría de Orleans: contadores de rendimiento
Install-Package Microsoft.Orleans.OrleansTelemetryConsumers.Counters
Implementación de contadores de rendimiento de Windows de la API de telemetría de Orleans.
Consumidor de telemetría de Orleans: Azure Application Insights
Install-Package Microsoft.Orleans.OrleansTelemetryConsumers.AI
Incluye el consumidor de telemetría para Azure Application Insights.
Consumidor de telemetría de Orleans: NewRelic
Install-Package Microsoft.Orleans.OrleansTelemetryConsumers.NewRelic
Incluye el consumidor de telemetría para NewRelic.
Transacciones
Compatibilidad con transacciones de Orleans
Install-Package Microsoft.Orleans.Transactions
Incluye compatibilidad con transacciones entre granos (beta).
Transacciones de Orleans en Azure
Install-Package Microsoft.Orleans.Transactions.AzureStorage
Incluye un complemento para conservar el registro de transacciones en tablas de Azure (beta).
Herramientas
Herramienta Contador de rendimiento de Orleans
Install-Package Microsoft.Orleans.CounterControl
Incluye OrleansCounterControl.exe
, que registra las categorías de contadores de rendimiento de Windows para las estadísticas de Orleans y para las clases de grano implementadas. Requiere elevación. Se puede ejecutar en Azure como parte de una tarea de inicio de roles.