Aprendiendo Dubbo1 desde cero: la historia de los objetivos del proyecto de Internet y el desarrollo de la arquitectura

Objetivos de la arquitectura del proyecto de Internet a gran escala

Proyectos tradicionales y proyectos de Internet

Proyectos tradicionales : un sistema oa de empresa, sistema de recursos humanos, sistema de registro

Proyectos de Internet : Tmall, Baidu, jd

artículos tradicionales proyecto internet
Usar grupos empleados corporativos Todos los internautas
concurrencia 1-miles millones de billones
Tolerancia del producto alta tolerancia tolerancia casi cero
seguridad alta seguridad Vulnerable
Función función sencilla función compleja
renovar actualización lenta actualiza rapido

Del cuadro comparativo, se puede ver que los proyectos de Internet deben:

Alta concurrencia, respuesta rápida, buena estabilidad, buena experiencia de usuario

Medir las métricas de rendimiento del sitio web

Tiempo de respuesta : se refiere al tiempo total que lleva ejecutar una solicitud desde el principio hasta recibir los datos de respuesta al final.

Concurrencia : se refiere a la cantidad de solicitudes que el sistema puede manejar al mismo tiempo.

  • El número de conexiones simultáneas : se refiere a que el cliente inicia una solicitud al servidor y establece una conexión TCP. El número total de conexiones TCP al servidor por segundo

  • Número de solicitudes : también conocido como QPS (Query Per Second) se refiere a cuántas solicitudes por segundo

    imagen-20220830115653815
  • Usuarios simultáneos : cuántos usuarios por unidad de tiempo

Rendimiento : se refiere a la cantidad de solicitudes que el sistema puede manejar por unidad de tiempo.

Alto rendimiento : proporciona una experiencia de acceso rápido.

Alta disponibilidad : siempre se puede acceder a los servicios del sitio web con normalidad.

Escalable : aumentar/disminuir, aumentar/disminuir la potencia de procesamiento a través del hardware.

Alta escalabilidad : bajo acoplamiento entre sistemas, fácil de agregar/eliminar nuevas funciones/módulos agregando/eliminando.

Seguridad : proporcione estrategias como el acceso seguro al sitio web, el cifrado de datos y el almacenamiento seguro.

clúster y distribuido

Tecnologías requeridas para proyectos de Internet a gran escala: clúster y distribuido

grupo

Muchas "personas" trabajan juntas para hacer lo mismo. Por ejemplo, un restaurante necesita cortar verduras, preparar verduras, lavar platos y servir platos; originalmente un chef era responsable de todo el trabajo y luego reclutó nuevos chefs, nuevos chefs También está haciendo todo el trabajo y compartiendo la presión del chef original. El nuevo chef y el chef original son grupos

repartido

Muchas "personas" hacen cosas diferentes juntas. Estas cosas diferentes se suman a una gran cosa. El chef original ya no es responsable de cortar las verduras, lavar los platos y servir los platos, sino que recluta a tres personas para que sean responsables respectivamente, de modo que cada persona solo pueda concentrarse en hacer una cosa y la eficiencia será muy alta.

Clúster + distribuido (escalable)

Si el restaurante tiene muchos pedidos, entonces podemos reclutar dos equipos de chef y dividir los pedidos en dos partes. Los dos equipos de chef son equivalentes a grupos, y cada equipo cocina de manera distribuida. Este tipo de equipos adicionales. La escalabilidad se logra de una manera forma

imagen-20220830121317930

Historia del desarrollo de la arquitectura

imagen-20220830144818274

arquitectura monolítica

Ponga todos los módulos de un programa en un servidor, y se puede realizar una arquitectura única de varias máquinas formando un grupo de servidores polimórficos.

imagen-20220830144941704

Ventajas: desarrollo e implementación convenientes, adecuado para pequeños proyectos

defecto:

  • Inicio lento del proyecto
  • Poca fiabilidad: se rompe un módulo y se rompe todo el proyecto
  • pobre escalabilidad
  • pobre escalabilidad
  • bajo rendimiento
arquitectura vertical

La arquitectura vertical se refiere a la división de múltiples módulos en una arquitectura monolítica en múltiples proyectos independientes. Forma múltiples arquitecturas monolíticas independientes.

imagen-20220830145315419

En comparación con la arquitectura monolítica, básicamente está optimizada, pero la arquitectura vertical también tiene sus propias deficiencias:

Cada aplicación no interactúa entre sí, como la página de inicio de sesión, la página de información personal, etc. Las funciones requeridas por cada módulo deben agregarse a cada aplicación, lo que resulta en funciones más repetitivas.

arquitectura distribuida

Sobre la base de la arquitectura vertical, los módulos repetidos se extraen para formar un módulo independiente y convertirse en un proveedor de servicios

RPC: la forma en que los consumidores llaman a los proveedores de servicios

imagen-20220830145815950

Desventajas de la arquitectura distribuida:

Una vez que cambia el proveedor de servicios, todos los consumidores deben cambiar

arquitectura SOA

Los consumidores y los proveedores no se comunican directamente, sino que interactúan entre sí a través del bus de servicios.

ESB: Enterprise Service Bus, Service Broker. Proporciona principalmente un servicio para la interacción entre servicios. ESB incluye funciones como: balanceo de carga, control de flujo, procesamiento de encriptación, monitoreo de servicios, manejo de excepciones, monitoreo de emergencia, etc.

imagen-20220830150849465

arquitectura de microservicios

La arquitectura de microservicios es la sublimación de SOA. Uno de los puntos clave enfatizados por la arquitectura de microservicios es que "el negocio necesita ser completamente dividido en componentes y atendido". El sistema comercial único original se dividirá en múltiples aplicaciones pequeñas. Estas pequeñas aplicaciones completan la interacción y la integración a través de los servicios.

imagen-20220830151320598

Dubbo es un producto de la era SOA y SpringCloud es un producto de la era de los microservicios

Siguiente: (27 mensajes) Aprendiendo Dubbo2 desde cero - ¿Qué es la instalación de Dubbo y zookeeper_Cui Bubbles-Cat's Blog-CSDN Blog

Supongo que te gusta

Origin blog.csdn.net/perturb/article/details/126711950
Recomendado
Clasificación