ActivationCountBasedPlacement クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
各サーバーで最近アクティブになっているグレインの数に基づいて、ほぼ均等な負荷を達成しようとする配置戦略。
[System.Serializable]
public class ActivationCountBasedPlacement : Orleans.Runtime.PlacementStrategy
[System.Serializable]
[Orleans.GenerateSerializer]
[Orleans.Immutable]
[Orleans.SuppressReferenceTracking]
public sealed class ActivationCountBasedPlacement : Orleans.Runtime.PlacementStrategy
[<System.Serializable>]
type ActivationCountBasedPlacement = class
inherit PlacementStrategy
[<System.Serializable>]
[<Orleans.GenerateSerializer>]
[<Orleans.Immutable>]
[<Orleans.SuppressReferenceTracking>]
type ActivationCountBasedPlacement = class
inherit PlacementStrategy
Public Class ActivationCountBasedPlacement
Inherits PlacementStrategy
Public NotInheritable Class ActivationCountBasedPlacement
Inherits PlacementStrategy
- 継承
- 属性
注釈
この配置戦略の目的は、最近ビジー状態になったグレインの数に基づいて、負荷が最も低いサーバーに新しいグレインのアクティブ化を配置することです。 これには、すべてのサーバーがアクティブ化の合計数を他のすべてのサーバーに定期的に公開するメカニズムが含まれています。 次に、配置ディレクターは、最近報告されたアクティブ化数を調べ、現在のサーバーの配置ディレクターによって行われた最近のアクティブ化数に基づいて現在のアクティブ化数を予測することで、アクティブ化が最も少ないと予測されるサーバーを選択します。 ディレクターは、この予測を行うときに多数のサーバーをランダムに選択し、複数のサーバーが同じサーバーをオーバーロードしないようにします。 既定では、2 つのサーバーがランダムに選択されますが、この値は を使用して Orleans.Runtime.ActivationCountBasedPlacementOptions
構成できます。
このアルゴリズムは、論文「Michael David Mitzenmacher https://www.eecs.harvard.edu/~michaelm/postscripts/mythesis.pdfによるランダム化された負荷分散における 2 つの選択肢の力」に基づいており、「NGINX」および「2 つの選択肢の力」Load-Balancingアルゴリズム https://www.nginx.com/blog/nginx-power-of-two-choices-load-balancing-algorithm/で説明されているように、分散負荷分散のために NGINX でも使用されます。
この配置方法は、 属性を ActivationCountBasedPlacementAttribute グレインに追加することによって構成されます。
コンストラクター
ActivationCountBasedPlacement() |
各サーバーで最近アクティブになっているグレインの数に基づいて、ほぼ均等な負荷を達成しようとする配置戦略。 |
プロパティ
IsUsingGrainDirectory |
この配置方法でアクティブ化をグレイン ディレクトリに登録する必要があるかどうかを示す値を取得します。 (継承元 PlacementStrategy) |
メソッド
Initialize(GrainProperties) |
指定されたグレイン プロパティを使用して、この型のインスタンスを初期化します。 (継承元 PlacementStrategy) |
PopulateGrainProperties(IServiceProvider, Type, GrainType, Dictionary<String,String>) |
グレイン プロパティを設定して、推奨される配置方法を指定します。 (継承元 PlacementStrategy) |