Recuperación del tiempo de inactividad del clúster espejo de RabbitMQ, equilibrio de carga y actividad múltiple en salas de ordenadores
Motivo: en el proceso de desarrollo del proyecto real, necesita utilizar RabbitMQ para implementar la función de cola de mensajes, pero no está satisfecho consigo mismo después de implementar la función. Ya que la ha aprendido una vez, debe hacerlo. Compréndalo más profundamente y aprenda más sobre él. Consuma contenido relacionado con la arquitectura para mejorar.
En el clúster espejo de RabbitMQ, las máquinas en realidad están en una relación paralela y todos los nodos se replican entre sí
Descripción del escenario:
A es el maestro
B es esclavo
A se está ejecutando normalmente, pero B está inactivo. Solo necesita iniciar B y B se unirá automáticamente al clúster.
Tanto A como B. están inactivos, siempre que A comience antes que B, estará bien
Tanto A como B están inactivos, y A no puede comenzar Incluso si B comienza, es posible que B no pueda comenzar directamente. p>
Tanto B como C se han unido al clúster donde A es el maestro. En este momento, B y C deben olvidarse del clúster de A. B y C no se pueden iniciar.
RabbitMQv3.2 y versiones posteriores proporcionan una opción para borrar los parámetros de comando del nodo del clúster fuera de línea, es decir, cuando el nodo no se puede iniciar
HAProxy es un equilibrador de carga que proporciona alta disponibilidad (anteriormente, la mayoría de la gente usaba Nginx Y el proxy inverso ascendente implementa el equilibrio de carga Muy fácil), HAProxy puede ser un software proxy de aplicación de equilibrio de carga basado en la capa TCP cuatro (Lvs también es la capa cuatro TCP), la capa siete HTTP (Nginx es la capa siete HTTP), una Solución LBS confiable y de alta velocidad
Las conexiones simultáneas de HAProxy pueden admitir decenas de miles
Nginx
Ventajas:
1. Funciona por encima de la séptima capa de la red y puede ser apuntada. La aplicación http utiliza algunas estrategias de desvío, como apuntar a nombres de dominio y estructuras de directorio. Sus reglas formales son más poderosas y flexibles que HAProxy, por lo que hasta ahora es muy popular.
2. Nginx depende muy poco de la estabilidad de la red. En teoría, puede realizar funciones de carga si se le puede hacer ping.
3. La instalación y configuración de Nginx es relativamente simple, las pruebas también son relativamente convenientes y los registros de errores básicamente se pueden imprimir.
4. Puede soportar una alta presión de carga y es estable. Si el hardware no es malo, generalmente puede soportar decenas de miles de concurrencia.
5. Nginx puede detectar fallas internas del servidor a través del puerto, como códigos de estado, tiempos de espera, etc. devueltos por el servidor que procesa las páginas web, y volverá a enviar solicitudes que devuelvan errores a otro nodo.
6. No sólo es un excelente software de equilibrador de carga/proxy inverso, sino también un potente servidor de aplicaciones web. Se puede utilizar como página web estática y servidor de imágenes y tiene buena estabilidad en entornos de mucho tráfico.
7. Puede utilizarse como proxy inverso de nivel medio.
Desventajas:
1. El alcance de la adaptación es pequeño y solo puede admitir los protocolos http, https y correo electrónico.
2. La verificación de estado del servidor back-end solo admite la detección de puertos y no la detección de URL.
3. Existen relativamente pocas estrategias de equilibrio de carga: sondeo, peso, IP_hash, url_hash
HAProxy
Ventajas:
1. HAProxy admite hosts virtuales y puede funcionar en las capas 4 y 7 (admite múltiples segmentos de red)
2. Las ventajas de HAProxy pueden complementar algunas de las deficiencias de Nginx, como la compatibilidad con la retención de sesiones y la guía de cookies; también admite la detección del estado del servidor back-end al obtener la URL especificada;
3. HAProxy es similar a LVS, es solo un software de equilibrio de carga puramente en términos de eficiencia, HAProxy tendrá una mejor velocidad de equilibrio de carga que Nginx y también es mejor que Nginx en procesamiento concurrente.
4. HAProxy admite el reenvío de equilibrio de carga del protocolo TCP, que puede equilibrar la carga de las lecturas de MySQL y detectar y equilibrar la carga de los nodos MySQL de back-end.
5. Hay muchas estrategias de equilibrio de carga de HAProxy. Los algoritmos de equilibrio de carga de HAProxy ahora tienen los siguientes 8 tipos.
Desventajas:
1. POP/SMTP no es. Protocolo admitido
2. No es compatible con el protocolo SPDY
3. No es compatible con la función de caché HTTP. Hoy en día, muchos proyectos lb de código abierto tienen más o menos funciones de caché HTTP.
4. La función de recargar la configuración requiere reiniciar el proceso. Aunque también es un reinicio suave, no es tan fluido y amigable como la recarga de Nginx.
5. La compatibilidad con el modo multiproceso no es lo suficientemente buena
HAProxy+Keepalived (alta disponibilidad de nodos de equilibrio de carga)
Coloque el contenido del archivo de configuración anterior en /etc /haproxy/haproxy.cfg
Inicie HAProxy
Después de una activación exitosa, puede ir a la consola para verificar
Cree el canal de datos a través de la configuración de federación
p>En este momento, debe definir un nodo ascendente (nodo 166) y un nodo descendente (nodo 167). La federación se envía en una dirección, lo que es equivalente. para enviar el mensaje a un intercambio en sentido ascendente y luego reenviarlo a En la cola descendente
1. Cree un intercambio y una cola y una clave de enrutamiento vinculante en el nodo descendente para la recepción de datos
2. Establezca reglas ascendentes de la federación y los nodos ascendentes realicen la sincronización de datos
3. No hay datos al ingresar al estado de federación del nodo descendente. Es necesario establecer una política para garantizar la conectividad del canal.
4. Ingrese al menú Política del nodo descendente. El patrón es una expresión regular, aquí significa que el intercambio y la cola que comienzan con abajo coinciden.
5. En este momento, mire el intercambio y la cola, y se aplican las reglas
6. En este momento, vaya al estado de la federación para ver y se encuentra que la conexión ascendente se ha conectado
7. En este momento, primero miramos la descripción general ascendente
8. Luego miramos el intercambio y la cola ascendentes, y la política ascendente se ha configurado de acuerdo con la configuración descendente. Las reglas han creado el intercambio y. cola
El intercambio de redireccionamiento gris no puede enviar mensajes. Si desea enviarlo, envíelo en el intercambio descendente.
9. Estamos en el intercambio descendente ascendente y envía un mensaje. para pruebas
Puede ver este mensaje en sentido descendente
10. Debido a que el flujo ascendente y el nodo son solo un tránsito, si el flujo ascendente y el pedido también necesitan intercambiar mensajes descendentes Qué que ver con las noticias?
Solo necesitan establecer una relación vinculante localmente.
No crean que es suficiente completar la función todos los días. Este tipo de pensamiento no es necesario, anímense mutuamente. ~!