Red de conocimiento informático - Problemas con los teléfonos móviles - La diferencia entre Ribbon y Nginx

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.