.NET Orleans – Das Framework von Microsoft für verteilte Anwendungen
(dotnet.github.io)"Distributed .NET"
-
Ein plattformübergreifendes Framework, um auf Basis verteilter Objekte, sogenannter Grains, skalierbare und fehlertolerante Apps zu erstellen und zu betreiben
-
Auf lokalen Servern geschriebene Objekte können cloud-/clusterbasiert ohne Codeänderungen ausgeführt und skaliert werden
-
Microsoft nutzt es seit 8 Jahren in produktiven Services
-
grain = identity + behavior + state
-
Windows, Linux, Mac ab .NET Standard 2.0
Funktionen
- Persistence: Der Zustand eines Grains kann in jedem beliebigen Speichersystem abgelegt werden
→ Plugin für Azure Storage, ADO.NET(SQL Server, MySQL, PostgreSQL, Oracle), DynamoDB
-
Verteilte ACID-Transaktionen
-
Virtual Stream: Azure Event Hubs, Amazon SQS/Kinesis, GCP, In-memory
-
Timers & Reminders: Aktionen können auch für Grains geplant werden, die erst in der Zukunft aktiviert werden
-
Flexible Grain Placement: Wenn ein Grain innerhalb von Orleans aktiviert wird, entscheidet die Runtime, auf welchem Server es aktiviert wird. Dieses Verhalten lässt sich frei konfigurieren
-
Grain Versioning & Heterogeneous Clusters: Verschiedene Grain-Versionen können gleichzeitig existieren, sichere Updates werden unterstützt
-
Stateless Workers: Zustandslose Grains, die gleichzeitig auf mehreren Servern ausgeführt werden können
-
Grain Call Filters: Filterfunktion, die gleichzeitig auf mehrere Grains angewendet werden kann. Authentifizierung/Logging/Telemetry/Fehlerbehandlung
-
Run Anywhere: Azure, AWS, GCP, On-prem, Kubernetes, Service Fabric, Windows, Linux, MacOS
Noch keine Kommentare.