Repolode
dotnet

dotnet/orleans

Framework .NET multiplataforma para crear aplicaciones distribuidas y escalables en la nube con el modelo de actores virtuales.

Estrellas
10,913
Forks
2,148
Issues abiertos
645
Último commit
hace 4 horas

¿Qué es?

Orleans lleva conceptos familiares de .NET, como objetos, interfaces, async/await y excepciones, a los sistemas distribuidos. Los desarrolladores modelan las entidades de una aplicación como grains, que tienen una identidad estable, comportamiento y estado opcional. El runtime de Orleans activa los grains cuando se necesitan, desactiva los que están inactivos y los localiza en un clúster de silos, por lo que el código que los invoca no necesita saber qué servidor aloja cada grain.

Los grains pueden almacenar su estado en cualquier sistema de almacenamiento y admiten funciones como temporizadores, recordatorios persistentes, transacciones ACID distribuidas con aislamiento serializable, streams administrados respaldados por colas como Azure Event Hubs o Amazon Kinesis, y ubicación configurable de grains. Los clústeres pueden escalar desde un solo silo hasta muchos y recuperarse de fallos en los silos.

Orleans funciona en Windows, Linux y macOS con .NET Standard 2.0 y versiones más recientes del runtime de .NET, y se puede implementar en Kubernetes, máquinas virtuales o físicas, o servicios PaaS como Azure App Service.

Funciones clave

  • 01Grains con identidad estable y estado persistente opcional almacenado en cualquier sistema de almacenamiento
  • 02Transacciones ACID distribuidas con aislamiento serializable y sin coordinador central
  • 03Streams administrados respaldados por servicios de colas como Azure Event Hubs y Amazon Kinesis
  • 04Recordatorios persistentes y temporizadores no persistentes para tareas programadas
  • 05Políticas configurables de ubicación de grains y control de versiones de interfaces de grain
  • 06Filtros de llamadas de grain para autorización, registro y gestión de errores

Casos de uso

  • Crear backends de IoT donde cada dispositivo se modela como un grain de gemelo digital
  • Crear servicios en la nube con estado y baja latencia que escalen horizontalmente en varios servidores
  • Procesar streams de eventos casi en tiempo real con consumidores que usan puntos de control
  • Migrar aplicaciones .NET de un solo servidor hacia servicios distribuidos resilientes

Antes de usarlo

  • Para crear aplicaciones con esta herramienta, se necesitan el ecosistema .NET y C#.
  • Es un framework para aplicaciones distribuidas, por lo que ejecutar un clúster requiere más trabajo de configuración y operaciones que una aplicación de un solo proceso.

En colecciones

Temas

Preguntas frecuentes

¿Qué es orleans?
Framework .NET multiplataforma para crear aplicaciones distribuidas y escalables en la nube con el modelo de actores virtuales. Orleans lleva conceptos familiares de .NET, como objetos, interfaces, async/await y excepciones, a los sistemas distribuidos. Los desarrolladores modelan las entidades de una aplicación como grains, que tienen una identidad estable, comportamiento y estado opcional. El runtime de Orleans activa los grains cuando se necesitan, desactiva los que están inactivos y los localiza en un clúster de silos, por lo que el código que los invoca no necesita saber qué servidor aloja cada grain.
¿orleans es gratuito? ¿Qué licencia tiene?
orleans es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿orleans sigue mantenido?
Mantenimiento activo. El último commit de orleans fue el 24 oct 2026.
¿Para qué puedo usar orleans?
Crear backends de IoT donde cada dispositivo se modela como un grain de gemelo digital Crear servicios en la nube con estado y baja latencia que escalen horizontalmente en varios servidores Procesar streams de eventos casi en tiempo real con consumidores que usan puntos de control Migrar aplicaciones .NET de un solo servidor hacia servicios distribuidos resilientes
¿Dónde consigo orleans?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/dotnet/orleans

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados