.NET Orleans - framework de aplicações distribuídas da MS
(dotnet.github.io)"Distributed .NET"
-
Framework multiplataforma para criar e operar apps escaláveis e tolerantes a falhas, baseado em objetos distribuídos chamados grains
-
Objetos escritos em servidor local podem ser executados e escalados em ambiente de nuvem/cluster sem alterações no código
-
A MS o utiliza em serviços reais há 8 anos
-
grain = identidade + comportamento + estado
-
Windows, Linux e Mac com .NET Standard 2.0 ou superior
Funcionalidades
- Persistence: o estado de um grain pode ser salvo em qualquer sistema de armazenamento
→ Plugin para Azure Storage, ADO.NET (SQL Server, MySQL, PostgreSQL, Oracle), DynamoDB
-
Transações ACID distribuídas
-
Virtual Stream: Azure Event Hubs, Amazon SQS/Kinesis, GCP, In-memory
-
Timers & Reminders: é possível agendar ações até mesmo para grains que serão ativados no futuro
-
Flexible Grain Placement: quando um grain é ativado dentro do Orleans, o runtime escolhe em qual servidor ativá-lo. Isso em si pode ser configurado livremente
-
Grain Versioning & Heterogeneous Clusters: diferentes versões de grains podem coexistir, com suporte a atualizações seguras
-
Stateless Workers: grains sem estado, que podem ser executados simultaneamente em vários servidores
-
Grain Call Filters: recurso de filtros aplicado simultaneamente a vários grains. Autenticação/logging/telemetria/tratamento de erros
-
Run Anywhere: Azure, AWS, GCP, on-prem, Kubernetes, Service Fabric, Windows, Linux, MacOS
Ainda não há comentários.