Repolode
dotnet

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