Share via


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.