.NET Orleans - MSの分散アプリケーションフレームワーク
(dotnet.github.io)"Distributed .NET"
-
grainsと呼ばれる分散オブジェクトをベースに、スケーラブルで耐障害性のあるアプリを構築・運用するためのクロスプラットフォームフレームワーク -
ローカルサーバーで作成されたオブジェクトが、コード変更なしでクラウド/クラスター基盤上で実行・スケーリング可能
-
MSが8年間にわたり本番サービスで使用中
-
grain = identity + behavior + state
-
.NET Standard 2.0 以上の Windows、Linux、macOS
機能
- Persistence : grain の状態はどのようなストレージシステムにも保存可能
→ Azure Storage、ADO.NET(SQL Server、MySQL、PostgreSQL、Oracle) 向けプラグイン、DynamoDB
-
分散 ACID トランザクション
-
Virtual Stream : Azure Event Hubs、Amazon SQS/Kinesis、GCP、In-memory
-
Timers & Reminders : 将来アクティブ化される grain に対してもアクションのスケジューリングが可能
-
Flexible Grain Placement : Orleans 内で grain がアクティブ化されると、ランタイムがどのサーバーでそれをアクティブ化するかを選択。これ自体も自由に設定可能
-
Grain Versioning & Heterogeneous Clusters : さまざまなバージョンの grain が共存可能で、安全なアップデートをサポート
-
Stateless Workers : state を持たない grain であり、複数のサーバーで同時実行可能
-
Grain Call Filters : 複数の grain に同時適用されるフィルター機能。認証/ロギング/Telemetry/エラー処理
-
Run Anywhere : Azure、AWS、GCP、On-prem、Kubernetes、Service Fabric、Windows、Linux、MacOS
まだコメントはありません。