ActivationCountBasedPlacement Clase

Definición

Una estrategia de selección de ubicación que intenta lograr una carga aproximadamente uniforme en función del número de granos activos recientemente en cada servidor.

[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
Herencia
ActivationCountBasedPlacement
Atributos

Comentarios

La intención de esta estrategia de colocación es colocar nuevas activaciones de granos en el servidor menos cargado en función del número de granos ocupados recientemente. Incluye un mecanismo en el que todos los servidores publican periódicamente su recuento total de activaciones en todos los demás servidores. A continuación, el director de selección de ubicación selecciona un servidor que se predice que tiene las últimas activaciones examinando el recuento de activación notificado más recientemente y una predicción del recuento de activación actual en función del recuento de activación reciente realizado por el director de selección de ubicación en el servidor actual. El director selecciona una serie de servidores de forma aleatoria al realizar esta predicción, en un intento de evitar que varios servidores independientes sobrecarguen el mismo servidor. De manera predeterminada, se seleccionan dos servidores aleatorios, pero este valor se puede configurar mediante Orleans.Runtime.ActivationCountBasedPlacementOptions.
Este algoritmo se basa en la tesis The Power of Two Choices in Randomd Load Balancing by Michael David Mitzenmacher https://www.eecs.harvard.edu/~michaelm/postscripts/mythesis.pdf, y también se usa en NGINX para el equilibrio de carga distribuido, como se describe en el artículo NGINX y el "Power of Two Choices" Load-Balancing Algorithm https://www.nginx.com/blog/nginx-power-of-two-choices-load-balancing-algorithm/.
Esta estrategia de selección de ubicación se configura agregando el ActivationCountBasedPlacementAttribute atributo a un nivel específico.

Constructores

ActivationCountBasedPlacement()

Una estrategia de selección de ubicación que intenta lograr una carga aproximadamente uniforme en función del número de granos activos recientemente en cada servidor.

Propiedades

IsUsingGrainDirectory

Obtiene un valor que indica si esta estrategia de selección de ubicación requiere que las activaciones se registren en el directorio de granos.

(Heredado de PlacementStrategy)

Métodos

Initialize(GrainProperties)

Inicializa una instancia de este tipo con las propiedades de grano proporcionadas.

(Heredado de PlacementStrategy)
PopulateGrainProperties(IServiceProvider, Type, GrainType, Dictionary<String,String>)

Rellena las propiedades de grano para especificar la estrategia de selección de ubicación preferida.

(Heredado de PlacementStrategy)

Se aplica a