Red de conocimiento informático - Problemas con los teléfonos móviles - Modo centinela de Redis

Modo centinela de Redis

La tecnología de conmutación maestro-esclavo se basa en la idea de que cuando el servidor maestro deja de funcionar, es necesario cambiar manualmente del servidor esclavo al servidor maestro, lo que requiere intervención manual, es muy laborioso y puede provocar que el servicio no esté disponible durante un período de tiempo. No recomendamos este enfoque y generalmente damos prioridad al modo Sentry.

1. Descripción general del modo Sentinel

El modo Sentinel es un modo especial. En primer lugar, Redis proporciona el comando centinela como un proceso independiente. ejecutar de forma independiente. El principio es que Sentinel monitorea la ejecución de múltiples instancias de Redis enviando comandos y esperando que el servidor Redis responda.

Redis Sentinel

El centinela aquí tiene dos funciones

Al enviar comandos, permite que el servidor Redis regrese y monitoree su estado de ejecución, incluido el servidor maestro. y el servidor esclavo.

Cuando Sentinel monitorea que el servidor maestro está inactivo, cambiará automáticamente del servidor esclavo al servidor maestro, luego notificará a otros servidores esclavos a través del modo de publicación-suscripción y modificará el archivo de configuración para permitirles para cambiar de host.

Sin embargo, puede haber problemas para monitorear el servidor Redis con un solo proceso centinela, por lo que podemos usar múltiples centinelas para monitorear. Los centinelas individuales también se monitorearán entre sí, creando un modelo multicentinela.

Describe el proceso de conmutación por error con palabras. Supongamos que el servidor principal está inactivo y Sentinel 1 detecta primero esta situación. El sistema no realizará inmediatamente el proceso de conmutación por error, pero Sentinel 1 solo cree subjetivamente que el servidor principal no está disponible. Este fenómeno se denomina tiempo de inactividad subjetivo. Cuando los centinelas posteriores también detectan que el servidor principal no está disponible y el número alcanza un cierto valor, se realizará un sondeo entre los centinelas. Como resultado del sondeo, el centinela iniciará una operación de conmutación por error. Una vez que el cambio sea exitoso, se publicará a través del modo de suscripción, lo que permitirá a cada centinela monitorear el host que implementa el cambio desde el servidor. Este proceso se denomina objetivo fuera de línea. De esta forma todo es transparente para el cliente.

2. Configuración del modo centinela de Redis

Configure tres centinelas y un servidor Redis maestro-esclavo para demostrar el proceso. 13026379

Monitoreo Multi-Sentry Redis

Primero configure el servidor maestro y el servidor esclavo de Redis, modifique el archivo redis.conf de la siguiente manera

Lo anterior es principalmente para configurar el servidor Redis y el servidor esclavo Hay un esclavo de configuración y contraseña más que el servidor maestro.

Configura 3 centinelas, cada uno con la misma configuración. Hay un archivo sentinel.conf en el directorio de instalación de Redis. Copie y modifique el archivo.

La configuración anterior desactiva el modo protegido para realizar pruebas.

Después de completar las modificaciones anteriores, podemos ingresar al directorio src del directorio de instalación de Redis y usar los siguientes comandos para iniciar el servidor y Sentinel.

Preste atención a su secuencia de inicio. Primero está el proceso de servicio Redis del host (192.168.11.128), luego el proceso de servicio esclavo y finalmente los tres procesos de servicio centinela.

3. Uso del modo Sentinel en Java

Lo anterior se usa a través de Jedis. También puedes usar Spring para configurar el uso de RedisTemplate.

4. Otros elementos de configuración del modo centinela

El elemento de configuración de centinela inactivo después de milisegundos solo considera que el host no está disponible cuando el centinela no recibe una respuesta durante más de un tiempo especificado. Otros Sentinels no lo creen así. Sentinel registrará este mensaje. Cuando la cantidad de Sentinels que detectan el tiempo de inactividad subjetivo alcance el número configurado por el monitor Sentinel, se iniciará el sondeo para la conmutación por error. En este momento, Sentinel reescribirá el archivo de configuración de Sentinel de Redis para adaptarse a la nueva situación. .