Partekatu honen bidez:


Equilibrio del clúster de Service Fabric

Cluster Resource Manager de Service Fabric admite cambios dinámicos de carga, en respuesta a las incorporaciones y las eliminaciones de nodos o servicios. También corrige automáticamente las infracciones de restricciones y reequilibra el clúster de manera proactiva. ¿Pero con qué frecuencia se realizan estas acciones y qué las activa?

Existen tres categorías de trabajo que Cluster Resource Manager realiza:

  • Ubicación: esta fase tiene que ver con la colocación de las réplicas con estado o las instancias sin estado que faltan. Abarca los nuevos servicios y la administración de réplicas con estado o instancias sin estado incorrectas. Aquí también se administra la eliminación de réplicas o instancias.
  • Comprobaciones de restricciones: en esta etapa se comprueban y corrigen las infracciones (reglas) de las distintas restricciones de selección de ubicación dentro del sistema. Algunos ejemplos de reglas son asegurarse de que los nodos no sobrepasan la capacidad y que las restricciones de selección de ubicación de un servicio se cumplen.
  • Equilibrio: en esta fase se comprueba si se precisa reequilibrado en función del nivel deseado de equilibrio configurado para las distintas métricas. En caso afirmativo, se intenta encontrar una disposición en el clúster que sea más equilibrada.

Configuración de temporizadores de Cluster Resource Manager

El primer conjunto de controles en torno al equilibrio es un conjunto de temporizadores. Estos temporizadores controlan la frecuencia con la que Cluster Resource Manager examina el clúster y realiza acciones correctivas.

Cada uno de estos tipos diferentes de correcciones que Cluster Resource Manager puede realizar se controla mediante un temporizador diferente que determina su frecuencia. Cuando se desencadena cada temporizador, se programa la tarea. De forma predeterminada, Resource Manager:

  • Examina su estado y aplica las actualizaciones (por ejemplo, la grabación de que un nodo está inactivo) cada 1/10 de segundo.
  • establece la marca de comprobación de ubicación cada segundo.
  • establece la marca de comprobación de restricción cada segundo.
  • establece la marca de equilibrio cada cinco segundos.

Seguidamente se ofrecen ejemplos de la configuración que regulan estos temporizadores:

ClusterManifest.xml:

        <Section Name="PlacementAndLoadBalancing">
            <Parameter Name="PLBRefreshGap" Value="0.1" />
            <Parameter Name="MinPlacementInterval" Value="1.0" />
            <Parameter Name="MinConstraintCheckInterval" Value="1.0" />
            <Parameter Name="MinLoadBalancingInterval" Value="5.0" />
        </Section>

a través de ClusterConfig.json para las implementaciones independientes o Template.json para los clústeres hospedados en Azure:

"fabricSettings": [
  {
    "name": "PlacementAndLoadBalancing",
    "parameters": [
      {
          "name": "PLBRefreshGap",
          "value": "0.10"
      },
      {
          "name": "MinPlacementInterval",
          "value": "1.0"
      },
      {
          "name": "MinConstraintCheckInterval",
          "value": "1.0"
      },
      {
          "name": "MinLoadBalancingInterval",
          "value": "5.0"
      }
    ]
  }
]

Ahora, Cluster Resource Manager solo realiza estas acciones una a una, de forma secuencial. Por esto nos referimos a estos temporizadores como “intervalos mínimos” y a las acciones que se realizan cuando los temporizadores se desactivan "marcas de establecimiento". Por ejemplo, Cluster Resource Manager se encarga de las solicitudes pendientes para crear servicios antes de equilibrar el clúster. Como puede ver por los intervalos de tiempo predeterminados especificados, Cluster Resource Manager examina y comprueba con frecuencia si hay algo que deba hacer. Normalmente, esto significa que el conjunto de cambios realizados durante cada paso es pequeño. Realizar pequeños cambios con frecuencia permite que Cluster Resource Manager responda a los eventos que se producen en el clúster. Los temporizadores predeterminados proporcionan algún procesamiento por lotes porque muchos eventos del mismo tipo tienden a producirse al mismo tiempo.

Por ejemplo, cuando los nodos no funcionan pueden provocar que todos los dominios dejen de funcionar a la vez. Tos estos errores se capturan durante la siguiente actualización de estado después de PLBRefreshGap. Las correcciones se determinan durante las siguientes ejecuciones de selección de ubicación, comprobación de restricciones y equilibrio. De forma predeterminada, Cluster Resource Manager no realiza exámenes durante las horas de cambios en el clúster e intenta abordar todos los cambios al mismo tiempo. Hacerlo produciría ráfagas de fragmentos.

Cluster Resource Manager también necesita información adicional para determinar si el clúster está desequilibrado. Para ello contamos con dos elementos de configuración: BalancingThresholds y ActivityThresholds.

Umbrales de equilibrio

Un umbral de equilibrio es el control principal para la activación del reequilibrado. El umbral de equilibrio de una métrica es una proporción. Si la carga de una métrica en el nodo más cargado dividida entre la cantidad de carga en el nodo menos cargado supera el valor de BalancingThreshold de la métrica, el clúster está desequilibrado. Como resultado, se activa el equilibrado durante la próxima comprobación de Cluster Resource Manager. El temporizador MinLoadBalancingInterval determina la frecuencia con la que Cluster Resource Manager debe comprobar si es necesario realizar el reequilibrado. La comprobación no significa que suceda nada.

Los umbrales de equilibrio se definen por métrica como parte de la definición de clúster. Para más información sobre las métricas, consulte este artículo de métricas.

ClusterManifest.xml

    <Section Name="MetricBalancingThresholds">
      <Parameter Name="MetricName1" Value="2"/>
      <Parameter Name="MetricName2" Value="3.5"/>
    </Section>

a través de ClusterConfig.json para las implementaciones independientes o Template.json para los clústeres hospedados en Azure:

"fabricSettings": [
  {
    "name": "MetricBalancingThresholds",
    "parameters": [
      {
          "name": "MetricName1",
          "value": "2"
      },
      {
          "name": "MetricName2",
          "value": "3.5"
      }
    ]
  }
]

Diagrama que muestra un ejemplo de umbral de equilibrio por nodo

En este ejemplo, cada servicio solo consume una unidad de alguna métrica. En el ejemplo superior, la carga máxima en un nodo es cinco y la mínima es dos. Supongamos que el umbral de equilibrio de esta métrica es tres. Puesto que la proporción del clúster es 5/2 = 2,5, que es menor que el umbral de equilibrio especificado de tres, el clúster está equilibrado. El equilibrado no se activa durante la comprobación de Cluster Resource Manager.

En el ejemplo de abajo, la carga máxima en un nodo es 10, mientras que la mínima es dos, lo que da lugar a una proporción de cinco. Cinco es mayor que el umbral de equilibrio establecido en tres para esa métrica. Como resultado, la próxima vez que el temporizador de equilibrio se active, se programará un reequilibrado. En una situación como esta, parte de la carga suele distribuirse a Node3. Como el enfoque de Cluster Resource Manager de Service Fabric no es expansivo, también se podría distribuir cierta carga a Node 2.

Diagrama que muestra una acción tomada en respuesta a un umbral de equilibrio.

Nota:

"Equilibrio" controla dos estrategias distintas para administrar la carga del clúster. La estrategia predeterminada que usa Cluster Resource Manager consiste en distribuir la carga entre los nodos del clúster. La otra estrategia es la desfragmentación. La desfragmentación se realiza durante la misma ejecución del equilibrio. Las estrategias de equilibrio y desfragmentación se pueden usar con distintas métricas en un mismo clúster. Un servicio puede tener métricas de equilibrio y desfragmentación. En cuanto a las métricas de desfragmentación, la proporción de las cargas del clúster activa el reequilibrado cuando es inferior al umbral de equilibrio.

El objetivo explícito no es estar por debajo del umbral de equilibrio. Los umbrales de equilibrio son tan solo un desencadenador. Cuando se ejecuta el equilibrio, Cluster Resource Manager determina qué mejoras puede realizar, si hay alguna. El inicio de una búsqueda de equilibrio no significa que nada cambie. A veces, el clúster está desequilibrado pero tiene demasiadas restricciones para que se corrija. Otra posibilidad es que las mejoras requieran movimientos que resulten demasiado costosos.

umbrales de actividad

En ocasiones, aunque los nodos están relativamente desequilibrados, la cantidad de carga total en el clúster es baja. La falta de carga puede deberse a una caída transitoria, o porque el clúster es nuevo y se acaba de arrancar. En cualquier caso, no querrá perder tiempo en equilibrar el clúster porque no hay mucho que ganar. Si el clúster se somete a un equilibrado, se invertirían recursos de red y de proceso para realizar cambios que no suponen ninguna diferencia. Para evitar movimientos innecesarios, hay otro control conocido como umbrales de actividad. Los umbrales de actividad permiten especificar un límite inferior absoluto para la actividad. Si ningún nodo se encuentra por encima de umbral, el equilibrado no se desencadena aunque se alcance el umbral de equilibrio.

Supongamos que se mantiene el umbral de equilibrio de tres para esta métrica. Supongamos también que se tiene un umbral de actividad de 1536. En el primer caso, aunque el clúster está desequilibrado según el umbral de equilibrio, ningún nodo llega al umbral mínimo de actividad, por lo que no sucede nada. En el ejemplo de abajo, Node 1 supera el umbral de actividad. Puesto que se superan el umbral de equilibrio y el umbral de actividad para la métrica, se programa el equilibrado. Como ejemplo, observemos el diagrama siguiente.

Diagrama que muestra un ejemplo de umbral de actividad por nodo.

Al igual que los umbrales de equilibrio, los umbrales de actividad se definen por métrica a través de la definición de clúster:

ClusterManifest.xml

    <Section Name="MetricActivityThresholds">
      <Parameter Name="Memory" Value="1536"/>
    </Section>

a través de ClusterConfig.json para las implementaciones independientes o Template.json para los clústeres hospedados en Azure:

"fabricSettings": [
  {
    "name": "MetricActivityThresholds",
    "parameters": [
      {
          "name": "Memory",
          "value": "1536"
      }
    ]
  }
]

Observe que los umbrales de equilibrio y actividad están vinculados a una métrica específica: el equilibrio solo se desencadena si se superan los umbrales de equilibrio y actividad de la misma métrica.

Nota

Cuando no se especifica, el umbral de equilibrio de una métrica es 1 y el de actividad, 0. Esto significa que el Administrador de recursos de clúster tratará de mantener esa métrica perfectamente equilibrada para cualquier carga determinada. Si usa métricas personalizadas, se recomienda definir umbrales de equilibrio y actividad explícitos para las métricas.

Equilibrio conjunto de los servicios

La decisión de si el clúster está desequilibrado o no afecta a todo el clúster. Sin embargo, para corregirlo movemos instancias y réplicas de servicio individuales. Tiene sentido, ¿no? Si la memoria está apilada en un nodo, podría haber varias réplicas o instancias contribuyendo a ella. Para corregir el desequilibrio podría ser necesario mover cualquiera de las réplicas con estado o instancias sin estado que utiliza la métrica desequilibrada.

Aunque, a veces, se mueve un servicio que no estaba desequilibrado (recuerde la explicación anterior sobre ponderaciones locales y globales). ¿Por qué habría de moverse un servicio si todas sus métricas están equilibradas? Veamos un ejemplo:

  • Supongamos que hay cuatro servicios, Servicio 1, Servicio 2, Servicio 3 y Servicio 4.
  • Servicio 1 notifica las métricas Métrica 1 y Métrica 2.
  • Servicio 2 notifica las métricas Métrica 2 y Métrica 3.
  • Servicio 3 notifica las métricas Métrica 3 y Métrica 4.
  • Servicio 4 informa de la Métrica 99.

En realidad no tenemos cuatro servicios independientes, sino tres servicios que están relacionados y uno que va por su cuenta.

Diagrama que muestra cómo equilibrar los servicios juntos.

Debido a esta cadena, es posible que un desequilibrio en las métrica 1-4 provoque el movimiento de las réplicas o instancias que pertenecen a los servicios 1-3. También sabemos que un desequilibrio en las métricas 1, 2 o 3 no puede ocasionar movimientos en Servicio 4. No tendría sentido porque mover las réplicas o instancias que pertenecen a Servicio 4 no afectará al equilibrio de las métricas 1 a 3.

Cluster Resource Manager averigua automáticamente qué servicios están relacionados. La incorporación, eliminación o modificación de las métricas de los servicios puede afectar a sus relaciones. Por ejemplo, entre dos ejecuciones de equilibrado, puede que Servicio 2 se haya actualizado y se haya quitado Metric 2. Esto rompe la cadena entre el Servicio 1 y el Servicio 2. Ahora, en lugar de dos grupos de servicios relacionados, hay tres:

Diagrama que muestra que Cluster Resource Manager determina qué servicios están relacionados.

Equilibrio de un clúster por tipo de nodo

Como se ha descrito en las secciones anteriores, los principales controles de desencadenamiento del reequilibrio son umbrales de actividad, umbrales de equilibrio y temporizadores. Cluster Resource Manager de Service Fabric proporciona un control más granular sobre cómo desencadenar el reequilibrio con la especificación de parámetros por tipo de nodo y permitir el movimiento solo en tipos de nodo desequilibrados. La principal ventaja del equilibrio por tipo de nodo es permitir la mejora del rendimiento en los tipos de nodo que requieren reglas de equilibrio más estrictas, sin degradación del rendimiento en otros tipos de nodo. La característica contiene dos partes principales:

  • La detección de desequilibrio se realiza por tipo de nodo. El cálculo global anterior del desequilibrio se calcula para cada tipo de nodo. Si todos los tipos de nodo están equilibrados, CRM no desencadenará la fase de equilibrio. De lo contrario, si al menos un tipo de nodo está desequilibrado, se necesita la fase de equilibrio.
  • El equilibrio mueve réplicas solo en tipos de nodo que están desequilibrados, otros tipos de nodo no se ven afectados por la fase de equilibrio.

Cómo afecta el equilibrio por tipo de nodo a un clúster

Durante el equilibrio de un clúster por tipo de nodo, Cluster Resource Manager de Service Fabric calcula el estado de desequilibrio de cada tipo de nodo. Si al menos un tipo de nodo está desequilibrado, se desencadenará la fase de equilibrio. La fase de equilibrio no moverá las réplicas en tipos de nodo que están desequilibrados, cuando el equilibrio se pausa temporalmente en estos tipos de nodo (por ejemplo, el intervalo de equilibrio mínimo no se ha pasado desde una fase de equilibrio anterior). La detección de un estado desequilibrado usa mecanismos comunes que ya están disponibles para el equilibrio clásico del clúster, pero mejora la granularidad y la flexibilidad de la configuración. Los mecanismos utilizados para el equilibrio por tipo de nodo para detectar el desequilibrio se proporcionan en la lista siguiente:

  • Los umbrales de equilibrio de métricas por tipo de nodo son valores que tienen un rol similar al umbral de equilibrio definido globalmente que se usa en el equilibrio clásico. La proporción de carga de métricas mínima y máxima se calcula para cada tipo de nodo. Si esa proporción de un tipo de nodo es mayor que el umbral de equilibrio definido del tipo de nodo, el tipo de nodo se marca como desequilibrado. Para más información sobre la configuración de umbrales de actividad de métricas por tipo de nodo, consulte la sección Umbrales de equilibrio por tipo de nodo.
  • Los umbrales de actividad de métricas por tipo de nodo son valores que tienen un rol similar al umbral de actividad definido globalmente que se usa en el equilibrio clásico. La carga máxima de métricas se calcula para cada tipo de nodo. Si la carga máxima de un tipo de nodo es mayor que el umbral de actividad definido para ese tipo de nodo, el tipo de nodo se marcará como desequilibrado. Para más información sobre la configuración de umbrales de equilibrio de métricas por tipo de nodo, consulte la sección Umbrales de equilibrio por tipo de nodo.
  • El intervalo de equilibrio mínimo por tipo de nodo tiene un rol similar al intervalo de equilibrio mínimo definido globalmente. Para cada tipo de nodo, Cluster Resource Manager conserva la marca de tiempo del último equilibrio. No se pudieron ejecutar dos fases de equilibrio consecutivas en un tipo de nodo dentro del intervalo de equilibrio mínimo definido. Para obtener más detalles sobre la configuración del intervalo de equilibrio mínimo por tipo de nodo, consulte la sección intervalo de equilibrio mínimo por tipo de nodo.

Describir el equilibrio por tipo de nodo

Para habilitar el equilibrio por tipo de nodo, el parámetro SeparateBalancingStrategyPerNodeType debe habilitarse en un manifiesto de clúster. Además, también es necesario habilitar la característica de agrupación en subclusters. Ejemplo de una sección PlacementAndLoadBalancing de manifiesto de clúster para habilitar la característica:

<Section Name="PlacementAndLoadBalancing">
    <Parameter Name="SeparateBalancingStrategyPerNodeType" Value="true" />
    <Parameter Name="SubclusteringEnabled" Value="true" />
    <Parameter Name="SubclusteringReportingPolicy" Value="1" />
</Section>

ClusterConfig.json para las implementaciones independientes o Template.json para los clústeres hospedados en Azure:

"fabricSettings": [
  {
    "name": "PlacementAndLoadBalancing",
    "parameters": [
      {
          "name": "SeparateBalancingStrategyPerNodeType",
          "value": "true"
      },
      {
          "name": "SubclusteringEnabled",
          "value": "true"
      },
      {
          "name": "SubclusteringReportingPolicy",
          "value": "1"
      },
    ]
  }
]

Como se ha descrito en la sección anterior, se pueden especificar umbrales e intervalos por tipo de nodo. Para obtener más información sobre cómo actualizar un parámetro específico, consulte las secciones siguientes:

Equilibrio de umbrales por tipo de nodo

El umbral de equilibrio de métricas se podría definir por tipo de nodo para aumentar la granularidad de la configuración de equilibrio. Los umbrales de equilibrio tienen un tipo de punto flotante, ya que representan el umbral para la relación del valor máximo y mínimo de carga dentro de un tipo de nodo determinado. Los umbrales de equilibrio se definen en la sección PlacementAndLoadBalancingOverrides para cada tipo de nodo:

<NodeTypes>
    <NodeType Name="NodeType1">
        <PlacementAndLoadBalancingOverrides>
            <MetricBalancingThresholdsPerNodeType>
                <BalancingThreshold Name="Metric1" Value="2.5">
                <BalancingThreshold Name="Metric2" Value="4">
                <BalancingThreshold Name="Metric3" Value="3.25">
            </MetricBalancingThresholdsPerNodeType>
        </PlacementAndLoadBalancingOverrides>
    </NodeType>
</NodeTypes>

Si no se define el umbral de equilibrio de una métrica para un tipo de nodo, el umbral hereda el valor del umbral de equilibrio de métricas definido globalmente en la sección PlacementAndLoadBalancing. De lo contrario, si el umbral de equilibrio de una métrica no se define para un tipo de nodo ni globalmente en una sección PlacementAndLoadBalancing, el umbral tendrá el valor predeterminado de uno.

Umbrales de actividad por tipo de nodo

El umbral de actividad de métricas se podría definir por tipo de nodo para aumentar la granularidad de la configuración de equilibrio. Los umbrales de actividad tienen un tipo de número entero, ya que representan el umbral para el valor de carga máximo dentro de un tipo de nodo determinado. Los umbrales de actividad se definen en la sección PlacementAndLoadBalancingOverrides para cada tipo de nodo:

<NodeTypes>
    <NodeType Name="NodeType1">
        <PlacementAndLoadBalancingOverrides>
            <MetricActivityThresholdsPerNodeType>
                <ActivityThreshold Name="Metric1" Value="500">
                <ActivityThreshold Name="Metric2" Value="40">
                <ActivityThreshold Name="Metric3" Value="1000">
            </MetricActivityThresholdsPerNodeType>
        </PlacementAndLoadBalancingOverrides>
    </NodeType>
</NodeTypes>

Si no se define el umbral de actividad de una métrica para un tipo de nodo, el umbral hereda el valor del umbral de actividad de métricas definido globalmente en la sección PlacementAndLoadBalancing. De lo contrario, si el umbral de actividad de una métrica no se define para un tipo de nodo ni globalmente en una sección PlacementAndLoadBalancing, el umbral tendrá el valor predeterminado de cero.

Intervalo de equilibrio mínimo por tipo de nodo

El intervalo de equilibrio mínimo se podría definir por tipo de nodo para aumentar la granularidad de la configuración de equilibrio. El intervalo de equilibrio mínimo tiene un tipo entero, ya que representa la cantidad mínima de tiempo que debe pasar antes de dos rondas de equilibrio consecutivas en un mismo tipo de nodo. El intervalo de equilibrio mínimo se define en la sección PlacementAndLoadBalancingOverrides para cada tipo de nodo:

<NodeTypes>
    <NodeType Name="NodeType1">
        <PlacementAndLoadBalancingOverrides>
            <MinLoadBalancingIntervalPerNodeType>100</MinLoadBalancingIntervalPerNodeType>
        </PlacementAndLoadBalancingOverrides>
    </NodeType>
</NodeTypes>

Si no se define un intervalo de equilibrio mínimo para un tipo de nodo, el intervalo hereda el valor del intervalo de equilibrio mínimo definido globalmente en la sección PlacementAndLoadBalancing. De lo contrario, si no se define ningún intervalo mínimo para un tipo de nodo ni globalmente en una sección PlacementAndLoadBalancing, el intervalo mínimo tendrá un valor predeterminado de cero, lo que indica que no se requiere una pausa entre rondas de equilibrio consecutivas.

Ejemplos

Ejemplo 1

Vamos a considerar un caso en el que un clúster contiene dos tipos de nodo, tipo de nodo A y tipo de nodo B. Todos los servicios notifican una misma métrica y se dividen entre estos tipos de nodo, por lo que las estadísticas de carga son diferentes para ellos. En el ejemplo, el tipo de nodo A tiene una carga máxima de 300 y una mínima de 100, y el tipo de nodo B tiene una carga máxima de 700 y una carga mínima de 500:

Diagrama que muestra un ejemplo de umbral de equilibrio por tipo de nodo con dos tipos de nodo.

El cliente detectó que las cargas de trabajo de dos tipos de nodo tienen necesidades de equilibrio diferentes y decidieron establecer distintos umbrales de equilibrio y actividad por tipo de nodo. El umbral de equilibrio del tipo de nodo A es 2,5 y el umbral de actividad es 50. Para el tipo de nodo B, establezca el umbral de equilibrio del cliente en 1,2 y el umbral de actividad en 400.

Durante la detección del desequilibrio del clúster en este ejemplo, ambos tipos de nodo infringen el umbral de actividad. La carga máxima del tipo de nodo A de 300 es mayor que el umbral de actividad definido de 50. La carga máxima del tipo de nodo B de 700 es mayor que el umbral de actividad definido de 400. El tipo de nodo A infringe los criterios de umbral de equilibrio, ya que la proporción actual de carga máxima y mínima es 3 y el umbral de equilibrio es 2,5. Al contrario, el tipo de nodo B no infringe los criterios de umbral de equilibrio, ya que la proporción actual de carga máxima y mínima para este tipo de nodo es 1,2, pero el umbral de equilibrio es 1,4. El equilibrio solo es necesario para las réplicas del tipo de nodo A y el único conjunto de réplicas que serán aptas para los movimientos durante la fase de equilibrio son las réplicas colocadas en el tipo de nodo A.

Ejemplo 2

Vamos a considerar un caso en el que un clúster contiene tres tipos de nodo: A, B y C. Todos los servicios notifican una misma métrica y se dividen entre estos tipos de nodo, por lo que las estadísticas de carga son diferentes para ellos. En el ejemplo, el tipo de nodo A tiene una carga máxima de 600 y mínima de 100, el tipo de nodo B tiene una carga máxima de 900 y mínima de 100, y el tipo de nodo C tiene una carga máxima de 600 y mínima de 300:

Diagrama que muestra un ejemplo de umbral de equilibrio por tipo de nodo con tres tipos de nodo.

El cliente detectó que las cargas de trabajo de tres tipos de nodo tienen necesidades de equilibrio diferentes y decidieron establecer distintos umbrales de equilibrio y actividad por tipo de nodo. El umbral de equilibrio del tipo de nodo A es 5 y el umbral de actividad es 700. Para el tipo de nodo B, establezca el umbral de equilibrio del cliente en 10 y el umbral de actividad en 200. Para el tipo de nodo C, establezca el umbral de equilibrio del cliente en 2 y el umbral de actividad en 300.

La carga máxima del tipo de nodo A de 600 es inferior al umbral de actividad definido de 700, por lo que el tipo de nodo A no se equilibrará. La carga máxima del tipo de nodo B de 900 es mayor que el umbral de actividad definido de 200. El tipo de nodo B infringe los criterios de umbral de actividad. La carga máxima del tipo de nodo C de 600 es mayor que el umbral de actividad definido de 300. El tipo de nodo C infringe los criterios de umbral de actividad. El tipo de nodo B no infringe los criterios de umbral de equilibrio, ya que la proporción actual de carga máxima y mínima para este tipo de nodo es 9, pero el umbral de equilibrio es 10. El tipo de nodo C infringe los criterios de umbral de equilibrio, ya que la proporción actual de carga máxima y mínima es 2 y el umbral de equilibrio es 2. El equilibrio solo es necesario para las réplicas del tipo de nodo C y el único conjunto de réplicas que serán aptas para los movimientos durante la fase de equilibrio son las réplicas colocadas en el tipo de nodo C.

Pasos siguientes

  • Las métricas son el modo en que el Administrador de recursos de clúster de Service Fabric administra la capacidad y el consumo en el clúster. Para más información sobre ellas y cómo configurarlas, consulte el artículo de métricas
  • El costo del movimiento es una forma de señalizar al Administrador de recursos de clúster que determinados servicios son más caros de mover que otros. Para más información sobre el coste del movimiento, consulte el artículo de coste del movimiento
  • El Administrador de recursos de clúster presenta varias limitaciones que se pueden configurar para ralentizar la renovación del clúster. Aunque no es normalmente necesaria, puede encontrar información aquí sobre la limitación avanzada
  • Cluster Resource Manager puede reconocer y controlar la agrupación en subclústeres. La agrupación en subclústeres puede surgir cuando se usan restricciones de selección de ubicación y equilibrio. Para más información sobre cómo la agrupación en subclústeres puede afectar al equilibrio y cómo puede controlarlo, consulte el artículo de agrupación en subclústeres