La diferencia entre Ribbon y Nginx
Sabemos que existen dos tipos de soluciones de equilibrio de carga: equilibrio de carga de hardware y equilibrio de carga de software
Balanceo de carga de hardware: como F5, DeepService, Array, etc.; equilibrio: como Nginx, LVS, HAProxy, etc.; ya sea equilibrio de carga de hardware o equilibrio de carga de software, mantendrán una lista de servidores disponibles y eliminarán los nodos de servidor fallidos mediante la detección de latidos para garantizar que todos los servidores de la lista sean accesibles. . Utilizan la detección de latidos para eliminar los nodos de servidores fallidos y garantizar que la lista esté llena de servidores accesibles. Cuando un cliente envía una solicitud a un dispositivo de equilibrio de carga, el dispositivo eliminará la dirección del servidor de la lista de servidores disponibles que mantiene y la reenviará según un determinado algoritmo (como round robin, ponderado, número mínimo de conexiones, etc.). .).
Ribbon es un proyecto de código abierto lanzado por Netflix. Su función principal es proporcionar algoritmos de equilibrio de carga de software para los clientes. Es una herramienta de equilibrio de carga del cliente basada en HTTP y TCP.
La diferencia entre Ribbon y Nginx
Nginx se basa en el equilibrio de carga del lado del servidor. Todas las solicitudes de los clientes se entregan de manera uniforme a nginx, y nginx implementa el reenvío de solicitudes de equilibrio de carga. la lista de servicios También es responsable del algoritmo de equilibrio de carga
Ribbon obtiene la lista de registro de servicios del servidor de registro eureka, la almacena en caché localmente y luego sondea la estrategia de equilibrio de carga localmente. Ribbon no es responsable de proporcionar una lista de servicios
Ribbon proporciona siete estrategias de equilibrio de carga
Debido a la encapsulación de Spring Cloud Ribbon, podemos utilizar llamadas de equilibrio de carga del lado del cliente en una arquitectura de microservicio. Gracias a la encapsulación de Spring Cloud Ribbon, podemos usar llamadas de equilibrio de carga del lado del cliente en una arquitectura de microservicios en dos sencillos pasos:
Ribbon está integrado en Spring Cloud Feign, que utiliza automáticamente el equilibrio de carga.
Fallback es una clase de fusión de excepciones personalizada. Cuando se produce una excepción en la interfaz declarada, automáticamente realizará una degradación del servicio.