¿Cómo seleccionar una nueva biblioteca principal cuando la biblioteca principal del mecanismo centinela redis está inactiva? notas

  1. La primera ronda: El esclavo con la prioridad más alta obtiene la puntuación más alta.
    Los usuarios pueden establecer diferentes prioridades para diferentes bibliotecas esclavas a través del elemento de configuración de prioridad esclava. Por ejemplo, si tiene dos
    bibliotecas esclavas con diferentes tamaños de memoria, puede establecer manualmente una prioridad alta para la instancia con mucha memoria. Al seleccionar la maestra,
    Sentinel otorgará una alta calificación a la biblioteca esclava con alta prioridad, si hay una biblioteca esclava con la prioridad más alta, será la nueva biblioteca maestra. Si
    las prioridades de las bibliotecas esclavas son las mismas, el centinela inicia la segunda ronda de puntuación.
  2. La segunda ronda: la biblioteca esclava que está más cerca del grado de sincronización de la antigua biblioteca maestra tiene una puntuación alta.
    La base de esta regla es que si la biblioteca secundaria que está más cerca de la sincronización con la biblioteca principal anterior se selecciona como biblioteca principal, la nueva biblioteca principal
    tendrá los datos más recientes.
    ¿Cómo juzgar el progreso de sincronización entre la biblioteca esclava y la biblioteca maestra anterior?
    Hay un proceso de propagación de comandos cuando la biblioteca maestro-esclavo está sincronizada. Durante este proceso, la biblioteca maestra usará
    master_repl_offset para registrar la posición de la última operación de escritura en repl_backlog_buffer, y la biblioteca esclava usará
    el valor de slave_repl_offset para registrar el progreso de replicación actual.
    En este punto, el slave_repl_offset que queremos encontrar debe ser el más cercano al master_repl_offset. Si
    entre todas las bibliotecas esclavas, el slave_repl_offset de la biblioteca esclava es el más cercano al master_repl_offset, entonces tiene
    la puntuación más alta y se puede usar como la nueva biblioteca maestra.
    Como se muestra en la figura a continuación, master_repl_offset de la antigua biblioteca maestra es 1000, y
    slave_repl_offset de las bibliotecas esclavas 1, 2 y 3 son 950, 990 y 900 respectivamente, entonces la biblioteca esclava 2 debe seleccionarse como la nueva biblioteca maestra.
    inserte la descripción de la imagen aquí
    Por supuesto, si los valores de slave_repl_offset de dos bibliotecas esclavas son los mismos (por ejemplo, los
    valores de slave_repl_offset de la biblioteca esclava 1 y la biblioteca esclava 2 son ambos 990), debemos darles una tercera ronda de puntuación.
  3. Cada instancia tendrá una ID, que es similar al número de la biblioteca esclava aquí. Actualmente, cuando Redis selecciona la biblioteca maestra
    , existe una regla predeterminada: en el caso de la misma prioridad y progreso de replicación, la biblioteca esclava con el número de identificación más pequeño tiene la puntuación más alta y se
    seleccionará como la nueva biblioteca maestra.
    En este punto, se selecciona la nueva biblioteca maestra y se completa el proceso de "selección de la maestra".
    Repasemos este proceso nuevamente. Primero, Sentinel filtrará algunos
    esclavos que no cumplan con los requisitos según el estado en línea y el estado de la red, y luego calificará a los esclavos restantes según la prioridad, el progreso de la replicación y el número de ID. Siempre que haya un esclavo
    con aparece la biblioteca con la puntuación más alta, se selecciona como la nueva biblioteca principal.

Supongo que te gusta

Origin blog.csdn.net/itlijinping_zhang/article/details/124980872
Recomendado
Clasificación