Framework de modelo de actores para Go, inspirado en Erlang/OTP, para crear sistemas distribuidos supervisados y transparentes a la red.
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
Servidor NATS, un sistema de mensajería de alto rendimiento para conectar servicios, dispositivos y sistemas edge, parte de la CNCF.
Rivet es un orquestador de código abierto que programa Actors duraderos y con estado para agentes, workflows y aplicaciones en tiempo real, como alternativa a la programación basada en pods.
Un framework de actores para Rust que ejecuta actores con paso de mensajes tipados en el runtime de Tokio y ofrece supervisión.
Base de datos SQL distribuida y nativa de la nube, construida sobre un almacén de clave-valor con consistencia fuerte y compatible con el protocolo wire de PostgreSQL.
Motor de orquestación para tareas en segundo plano, agentes de IA y workflows durables, con SDK para Python, TypeScript, Go y Ruby, y Postgres como capa de durabilidad.