La diferencia entre Dubbo RPC y la solicitud HTTP ordinaria

1. ¿Qué es la interfaz Dubbo?

La interfaz Dubbo es una Alibaba de código abierto dedicada a proporcionar soluciones de invocación de servicios remotos RPC transparentes y de alto rendimiento y soluciones de gobernanza de servicios SOA. El marco de Dubbo se despidió del modelo de servicio web tradicional y luego cambió a los modelos de proveedor y consumidor para el servicio. ¿Por qué es de alto rendimiento? Se puede proporcionar un único servicio dedicado en un clúster de servidores para que no se mezcle con otros servicios Al mismo tiempo, la interfaz Dubbo tiene programación SOA para lograr el equilibrio de carga al monitorear cada servidor . El lado del consumidor no necesita prestar atención a cómo se implementa el lado del proveedor, solo necesita suscribirse en el registro para solicitar los servicios del servidor correspondiente, lo que logra un alto rendimiento y transparencia. Después de todo, la interfaz Dubbo es un marco de servicio distribuido.

En segundo lugar, la diferencia entre Dubbo y Http

2.1 dubbo
  1. Número de conexiones: conexión única
  2. Modo de conexión: conexión de socket larga, evitando la sobrecarga de crear conexiones TCP repetidamente. Para la mayoría de las llamadas de servicio, los consumidores de servicios son mucho más grandes que los proveedores de servicios. El volumen de llamadas entre servicios es muy grande. El uso de una sola conexión evita que los proveedores de servicios se sientan abrumados. El uso de conexiones largas puede reducir la verificación del apretón de manos de las conexiones de servicio.
  3. Método de transmisión: transmisión asíncrona NIO
  4. Protocolo de transmisión: TCP
  5. Método de serialización: serialización binaria hessiana
  6. Puede personalizar el protocolo sin agregar información de encabezado de solicitud irrelevante,
  7. Seguridad: Al comienzo del diseño de Dubbo, básicamente se consideró la comunicación de la red interna, y básicamente no se tuvo en cuenta la seguridad, que es mucho peor que la seguridad de Http.
  8. Escenarios aplicables:
    (1) Los paquetes de datos de parámetros entrantes y salientes son pequeños (se recomienda menos de 100K);
    (2) Hay más consumidores que proveedores
    (3) Conexión rpc larga, mayor eficiencia de transmisión, enrutamiento personalizable, interconexión aplicable con sistemas internos
2.2 http
  1. Número de conexiones: múltiples conexiones
  2. Modo de conexión: conexión corta,
  3. Método de transmisión: transmisión síncrona
  4. Protocolo de transmisión: Http
  5. Método de serialización: serialización de formularios (JSON)
  6. El protocolo Http tendrá una serie de encabezados Http. Estos contenidos a menudo ocupan varios K de datos. Cuando la cantidad de acceso es particularmente grande, estos datos irrelevantes son en realidad una carga.
  7. Seguridad: alta
  8. Ámbito de aplicación:
    (1) Los paquetes de datos entrantes y salientes tienen un tamaño mixto
    (2) Se puede acceder a ellos a través de una URL y se puede acceder a ellos en el navegador
    (3) Conexión corta HTTP, el protocolo está estandarizado y es fácil de leer se conecta a sistemas externos y es adecuado para capas superiores Módulo empresarial

Observaciones: el protocolo http1.1 utiliza una conexión corta de forma predeterminada, y cada solicitud requiere un protocolo de enlace de tres vías; el protocolo http2.0 comenzó a cambiar la conexión de socket predeterminada a una conexión larga.

Supongo que te gusta

Origin blog.csdn.net/sinat_34241861/article/details/112559582
Recomendado
Clasificación