Cursos
Módulo
Creación de la primera aplicación de Orleans con ASP.NET Core 8.0 - Training
Aprenda a crear aplicaciones nativas de la nube y aplicaciones distribuidas con Orleans.
Este explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
Una aplicación típica de Orleans consta de un clúster de procesos de servidor (silos) donde residen granos y un conjunto de procesos cliente, normalmente servidores web, que reciben solicitudes externas, las convierten en llamadas a métodos de grano y devuelven resultados. Por lo tanto, lo primero que hay que hacer para ejecutar una aplicación de Orleans es iniciar un clúster de silos. Con fines de prueba, un clúster puede constar de un único silo. Para una implementación de producción confiable, conviene tener más de un silo en un clúster para disponer de mayor tolerancia a errores y escala.
Una vez que el clúster se está ejecutando, se puede iniciar uno o varios procesos de cliente que se conectan al clúster y pueden enviar solicitudes a los granos. Los clientes se conectan a un punto de conexión TCP especial en los silos: la puerta de enlace. De forma predeterminada, cada silo de un clúster tiene habilitada una puerta de enlace de cliente. Por lo tanto, los clientes pueden conectarse a todos los silos en paralelo para mejorar el rendimiento y la resistencia.
Un silo se configura mediante programación con un objeto ClusterConfiguration. Se puede crear una instancia de él y rellenarse directamente, cargar la configuración desde un archivo o crear con varios métodos auxiliares disponibles para diferentes entornos de implementación. Para las pruebas locales, la manera más fácil consiste en usar el método auxiliar LocalhostPrimarySilo. Después, el objeto de configuración se pasa a una nueva instancia de la clase SiloHost, que se puede inicializar a continuación.
Puede crear un proyecto de aplicación de consola vacío con .NET Framework 4.6.1 o superior como destino para hospedar un silo.
Agregue el metapaquete NuGet Microsoft.Orleans.Server
al proyecto.
Install-Package Microsoft.Orleans.Server
Este es un ejemplo de cómo se puede iniciar un silo local:
var siloConfig = ClusterConfiguration.LocalhostPrimarySilo();
var silo = new SiloHost("Test Silo", siloConfig);
silo.InitializeOrleansSilo();
silo.StartOrleansSilo();
Console.WriteLine("Press Enter to close.");
// wait here
Console.ReadLine();
// shut the silo down after we are done.
silo.ShutdownOrleansSilo();
El cliente para conectarse a un clúster de silos y enviar solicitudes a granos se configura mediante programación con un objeto ClientConfiguration y ClientBuilder. Se puede crear una instancia del objeto ClientConfiguration
y rellenarse directamente, cargar la configuración desde un archivo o crear con varios métodos auxiliares disponibles para diferentes entornos de implementación. Para las pruebas locales, la manera más fácil consiste en usar el método auxiliar LocalhostSilo. Después, el objeto de configuración se pasa a una nueva instancia de la clase ClientBuilder
.
ClientBuilder
expone más métodos para configurar características de cliente adicionales. Después, se llama al método ClientBuilder.Build() del objeto ClientBuilder
para obtener una implementación de la interfaz IClusterClient. Por último, se llama al método IClusterClient.Connect() en el objeto devuelto para conectarse al clúster.
Puede crear un proyecto de aplicación de consola vacío con .NET Framework 4.6.1 o posterior como destino para ejecutar un cliente o reutilizar el proyecto de aplicación de consola que creó para hospedar un silo. Agregue el metapaquete NuGet Microsoft.Orleans.Client
al proyecto.
Install-Package Microsoft.Orleans.Client
Este es un ejemplo de cómo se puede conectar un cliente a un silo local:
var config = ClientConfiguration.LocalhostSilo();
var builder = new ClientBuilder().UseConfiguration(config).
var client = builder.Build();
await client.Connect();
Los ejemplos de configuración que usamos aquí son para probar silos y clientes que se ejecutan en el mismo equipo que localhost
. En producción, los silos y los clientes normalmente se ejecutan en servidores diferentes y se configuran con una de las opciones de configuración de clúster confiables. Encontrará más información al respecto en la guía de configuración y en la descripción de la administración de clústeres.
Cursos
Módulo
Creación de la primera aplicación de Orleans con ASP.NET Core 8.0 - Training
Aprenda a crear aplicaciones nativas de la nube y aplicaciones distribuidas con Orleans.
Documentación
Compatibilidad con varios clústeres - .NET
Aprenda sobre la compatibilidad con varios clústeres en .NET Orleans.
Migración de Orleans 3.x a 7.0 - .NET
Conozca las distintas características nuevas introducidas en Orleans 7.0 y cómo migrar desde versiones 3.x.
Hospedaje de Kubernetes - .NET
Aprenda a hospedar una aplicación de Orleans con Kubernetes.