Framework de modelo de atores para Go, inspirado em Erlang/OTP, para criar sistemas distribuídos supervisionados e transparentes à rede.
dotnet/orleans
Um framework .NET multiplataforma para criar aplicações em nuvem distribuídas e escaláveis usando o modelo de atores virtuais.
- Estrelas
- 10,912
- Forks
- 2,147
- Issues abertas
- 645
- Último commit
- há 18 horas
O que é?
Orleans leva conceitos familiares do .NET, como objetos, interfaces, async/await e exceções, para sistemas distribuídos. Os desenvolvedores modelam entidades da aplicação como grains, que têm uma identidade estável, comportamento e estado opcional. O runtime do Orleans ativa grains sob demanda, desativa os que ficam ociosos e os localiza em um cluster de silos, sem que o código chamador precise saber qual servidor hospeda cada grain.
Os grains podem armazenar estado em qualquer sistema de armazenamento e oferecem recursos como timers, reminders duráveis, transações ACID distribuídas com isolamento serializável, streams gerenciados com suporte de filas como Azure Event Hubs ou Amazon Kinesis e posicionamento configurável de grains. Os clusters podem crescer de um único silo para muitos e se recuperar de falhas de silos.
Orleans roda em Windows, Linux e macOS com .NET Standard 2.0 e runtimes .NET mais recentes, e pode ser implantado no Kubernetes, em máquinas virtuais ou físicas, ou em serviços PaaS como o Azure App Service.
Recursos principais
- 01Grains com identidade estável e estado persistente opcional armazenado em qualquer sistema de armazenamento
- 02Transações ACID distribuídas com isolamento serializável e sem coordenador central
- 03Streams gerenciados com suporte de serviços de filas como Azure Event Hubs e Amazon Kinesis
- 04Reminders duráveis e timers não duráveis para tarefas agendadas
- 05Políticas configuráveis de posicionamento de grains e versionamento de interfaces de grains
- 06Filtros de chamadas de grains para autorização, logging e tratamento de erros
Casos de uso
- Criar backends de IoT em que cada dispositivo é modelado como um grain de gêmeo digital
- Criar serviços de nuvem com estado e baixa latência que escalam horizontalmente em vários servidores
- Processar streams de eventos quase em tempo real com consumidores que usam checkpoints
- Migrar aplicações .NET de servidor único para serviços distribuídos resilientes
Antes de usar
- Para criar aplicações com esta ferramenta, é necessário usar o ecossistema .NET e C#.
- É um framework para aplicações distribuídas, portanto, executar um cluster exige mais esforço de configuração e operação do que uma aplicação de processo único.
Em coleções
Tópicos
Perguntas frequentes
- O que é orleans?
- Um framework .NET multiplataforma para criar aplicações em nuvem distribuídas e escaláveis usando o modelo de atores virtuais. Orleans leva conceitos familiares do .NET, como objetos, interfaces, async/await e exceções, para sistemas distribuídos. Os desenvolvedores modelam entidades da aplicação como grains, que têm uma identidade estável, comportamento e estado opcional. O runtime do Orleans ativa grains sob demanda, desativa os que ficam ociosos e os localiza em um cluster de silos, sem que o código chamador precise saber qual servidor hospeda cada grain.
- orleans é gratuito? Qual é a licença?
- orleans é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- orleans ainda é mantido?
- Manutenção ativa. O último commit de orleans foi em 23 de out. de 2026.
- Para que posso usar orleans?
- Criar backends de IoT em que cada dispositivo é modelado como um grain de gêmeo digital Criar serviços de nuvem com estado e baixa latência que escalam horizontalmente em vários servidores Processar streams de eventos quase em tempo real com consumidores que usam checkpoints Migrar aplicações .NET de servidor único para serviços distribuídos resilientes
- Onde consigo orleans?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/dotnet/orleans
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
NATS server, um sistema de mensagens de alto desempenho para conectar serviços, dispositivos e sistemas de edge, integrante da CNCF.
Rivet é um orquestrador de código aberto que agenda Actors duráveis e com estado para agentes, workflows e apps em tempo real, como alternativa ao agendamento baseado em pods.
Um framework de atores para Rust que executa atores com troca de mensagens tipadas no runtime Tokio e oferece suporte à supervisão.
Banco de dados SQL distribuído e cloud-native, baseado em um armazenamento key-value fortemente consistente e compatível com o protocolo wire do PostgreSQL.
Um mecanismo de orquestração para tarefas em segundo plano, agentes de IA e workflows duráveis, com SDKs para Python, TypeScript, Go e Ruby e Postgres como camada de durabilidade.