ニューオーリンズでは、Microsoft共通言語ランタイム(CLR)の抽象化レベルを強化するために使用されるプログラミングモデル、ある、オルレアンの目的は、クライアントの両方を作成し、コードのデバッグを簡単にするために、サーバーのプログラミングモデルに適用する、改善することですコードの移植。バージョン3.0は、改善と修正の多くは、だけでなく、いくつかの新機能をもたらします。
主な変更点の一部ので2.0です。
- 分散ACIDトランザクション - 複数の粒子は、(かかわらず、それが格納されているそれらの状態の)トランザクションに追加することができます
- いくつかのケースで30%以上のパフォーマンスを向上させる、新しいスケジューラ
- 新しいコードの分析に基づいてロザリンコードジェネレータ
- 回復の速度を上げるためにクラスタメンバーを書き換え
- 共同ホスティングサポート
ASP.NET岩盤とのネットワーク層の交換
バージョン3.0では、を通じて、TLSのサポートが導入され Microsoft.Orleans.Connections.Security パッケージを取得。オルレアン3.0は、構築するためにその全体のネットワーク層に置き換えられます プロジェクト岩盤 先駆的なASP.NETチームである上に、全体のネットワーク層を、。岩盤の目標は、開発者が迅速かつ堅牢なネットワーククライアントとサーバーの構築を支援することです。
メモリプール<バイト>への依存を書き換え、ネットワーク層をさらに含むこの変更、今よりスパン<T>の使用のシーケンス中に、カスタムのバッファプールの交換。オルレアン3.0では、アップグレードは、プロトコルのネゴシエーションにより、プログレッシブネットワークプロトコルのサポートを追加します。後方互換性を維持しながら、ニューオーリンズ3.0プロトコルは、このような手順のカスタムコア配列として、ネゴシエーションに添加しました。右サイロ簡単な接続部との間に確立代わりに前の、全二重サイロ・ツー・サイロの接続をサポートする新しいネットワークプロトコルの利点の一つ。プロトコルバージョンはConnectionOptions.ProtocolVersionによって構成することができます。
一般的なホスト経由で共同ホスティング
さて、同じプロセスで(例えばASP .NETのコアのような)他のフレームワークと共同オーリンズは、これまで以上に簡単開催されました。ここUseOrleansオーリンズは、サンプルASP.NETコアにホストと一緒に追加されます。
ar host = new HostBuilder()
.ConfigureWebHostDefaults(webBuilder =>
{
// Configure ASP.NET Core
webBuilder.UseStartup<Startup>();
})
.UseOrleans(siloBuilder =>
{
// Configure Orleans
siloBuilder.UseLocalHostClustering();
})
.ConfigureLogging(logging =>
{
/* Configure cross-cutting concerns such as logging */
})
.ConfigureServices(services =>
{
/* Configure shared services */
})
.UseConsoleLifetime()
.Build();
// Start the host and wait for it to stop.
await host.RunAsync();
一般的なホストビルダーを使って、ニューオーリンズのサービスは他のホスティングサービスプロバイダと共有されます。これは、これらのサービスは、ニューオーリンズを入力することができます。例えば、開発者はIClusterClient又はIGrainFactory注射ASP.NETコアMVCコントローラを、粒子及びそのMVCアプリケーションから直接呼び出すことができます。この機能は、展開トポロジを簡素化したり、既存のアプリケーションに他の機能を追加するために使用することができます。
拡張性の向上
ストリームは、今彼らがどのような形式でデータを受信できるように、データアダプタをカスタマイズすることができます。これにより、開発者はより良い店で表さストリームエントリーを制御することができます。また、水蒸気がレガシーシステムおよび/または非オーリンズのサービスと統合することができるように、制御プログラムが邪魔に書き込まれたデータのストリームを提供することができます。事務のカスタム状態は現在のトランザクションにおけるその役割を実行することができます宣言することができます。設定時に任意の位置インジケータを取り付けることができるように、今、公的にアクセス可能な定義済みのレイアウト戦略。
信頼性の向上
このリリースでは、クラスタは、障害からより迅速に回復します。メッセージングは呼び出し元に送信エラーになり、今より一貫性のあるエラー処理です。これにより、開発者はより迅速にエラーを見つけることができます。メッセージが完全であるかシリアライズデシリアライズすることができない場合、例えば、詳細な例外は、最初の呼び出し元に返送されます。
リリースノート: