Orleans 2.0公式文書-6.8.1導入->マルチクラスタサポート->概要

1522 ワード

マルチクラスタのサポート
Orleans v.1.0.0は、単一のサービスと同様に機能するいくつかのOrleansクラスタを1つのばらばらな接続に結合するマルチクラスタに対するサポートを追加する.
マルチクラスタは、サービスの地理的分散に役立ちます.つまり、グローバルな複数のデータセンターでOrleansアプリケーションをより簡単に実行できます.さらに、単一のデータセンター内でマルチクラスタを実行して、より良い障害とパフォーマンスの分離を得ることもできます.
すべてのメカニズムの設計は、(1)クラスタ間の通信を最小化し、(2)他のクラスタに障害が発生したりアクセスできなくても、各クラスタを自律的に実行させることに特に注意している.
構成と操作
次に、マルチクラスタの構成と実行方法について説明します.
通信する.クラスタ内で同じsilo-to-silo接続を使用することで,クラスタ間で通信を行う.状態と構成情報を交換するために,クラスタはgossipメカニズムとgossipチャネルの実装を用いる.
Silo構成.どのクラスタに属しているか(各クラスタは一意の文字列で識別される)を知るためにsiloを構成する必要があります.さらに、各siloは、起動時に1つ以上のgossipチャネルに接続するために接続文字列を構成する必要があります.
マルチクラスタ構成の注入.実行時に、サービス事業者は、クラスタIDリストを含むマルチクラスタ構成を指定および/または変更して、現在のマルチクラスタの一部であるクラスタを指定できます.これは、いずれのクラスタにおいても、管理grainを呼び出すことによって実現される.
マルチクラスタgrain
次に、アプリケーション・レベルでマルチクラスタ機能を使用する方法について説明します.
グローバル単一インスタンスgrain.開発者は、クラスタがいつ、およびどのように、特定のgrainクラスに対してgrainカテゴリを調整するかを示すことができます.[GlobalSingleInstance]プロパティは、単一のグローバルクラスタでOrleansを実行するときと同じ動作が必要であることを意味します.すなわち、すべての呼び出しを、単一のアクティブなgrainにルーティングする必要があります.対照的に、[OneInstancePerCluster]属性は、各クラスタが独自の独立したアクティブ化体を有することができることを示す.クラスタ間の通信を望まない場合、これは適切である.
Log-View Grains(v.1.3.0ではありません).新しいAPI(event sourcingと同様)を使用してgrainの状態を同期または永続化する特殊なタイプのgrain.ストレージを使用して、クラスタ間のgrain状態を自動的かつ効率的に同期できます.その同期アルゴリズムは、再入力可能なgrainと安全に使用でき、バッチおよびレプリケーションの使用に最適化されるため、1つのgrainがマルチクラスタで頻繁にアクセスされる場合、および/または頻繁にストレージに書き込まれる場合、標準的なgrainよりも高速に実行できる.log-view grainのサポートは、メインブランチの一部ではありません.geo-orleansブランチには、いくつかの例とドキュメントを含むプリリリース版があります.現在、早期採用者によって、生産環境の評価が行われています.