.NET Orleans - le framework d’applications distribuées de Microsoft
(dotnet.github.io)"Distributed .NET"
-
Framework multiplateforme destiné à créer et exploiter des applications scalables et tolérantes aux pannes, basé sur des objets distribués appelés grains
-
Les objets écrits sur un serveur local peuvent s’exécuter et monter en charge sur une base cloud/cluster sans modification du code
-
Microsoft l’utilise en production depuis 8 ans
-
grain = identité + comportement + état
-
Windows, Linux, Mac à partir de .NET Standard 2.0
Fonctionnalités
- Persistence : l’état des grains peut être stocké dans n’importe quel système de stockage
→ Plugin pour Azure Storage, ADO.NET (SQL Server, MySQL, PostgreSQL, Oracle), DynamoDB
-
Transactions ACID distribuées
-
Virtual Stream : Azure Event Hubs, Amazon SQS/Kinesis, GCP, In-memory
-
Timers & Reminders : possibilité de planifier des actions même pour des grains qui seront activés dans le futur
-
Flexible Grain Placement : lorsqu’un grain est activé dans Orleans, le runtime choisit sur quel serveur l’activer. Ce comportement est lui-même configurable librement
-
Grain Versioning & Heterogeneous Clusters : plusieurs versions de grains peuvent coexister, avec prise en charge de mises à jour sûres
-
Stateless Workers : grains sans état pouvant s’exécuter simultanément sur plusieurs serveurs
-
Grain Call Filters : fonction de filtrage appliquée simultanément à plusieurs grains. Authentification / journalisation / télémétrie / gestion des erreurs
-
Run Anywhere : Azure, AWS, GCP, On-prem, Kubernetes, Service Fabric, Windows, Linux, MacOS
Aucun commentaire pour le moment.