Resumen de ventajas y desventajas de varias arquitecturas

Resumen de ventajas y desventajas de varias arquitecturas


prefacio

El desarrollo de la arquitectura de software ha pasado por el proceso de evolución desde arquitectura única, arquitectura vertical, arquitectura SOA hasta arquitectura de microservicios. Echemos un vistazo a estas arquitecturas.


1. Estructura única

Descripción de la arquitectura: todas las funciones se concentran en un proyecto)
Ventajas de la arquitectura: arquitectura simple, bajo costo de desarrollo inicial, ciclo de desarrollo corto, adecuado para proyectos pequeños.
Desventajas de la arquitectura:

  1. Todas las funciones se concentran en un proyecto, que no es fácil de desarrollar, expandir y mantener para proyectos grandes
  2. La pila de tecnología es limitada y solo se puede usar un lenguaje para el desarrollo
  3. La expansión del rendimiento del sistema solo se puede realizar mediante la expansión de los nodos del clúster, lo cual es costoso

2. Arquitectura Vertical

Descripción de la arquitectura: Dividir según el negocio para formar pequeños proyectos individuales.
Ventajas arquitectónicas: la pila de tecnología es escalable (diferentes sistemas pueden usar diferentes lenguajes de programación)
Desventajas arquitectónicas:

  1. Las funciones se concentran en un proyecto, lo que no es propicio para el desarrollo, la expansión y el mantenimiento.
  2. La expansión del sistema solo se puede hacer a través de clústeres
  3. Redundancia funcional, redundancia de datos y fuerte acoplamiento entre proyectos

3. Arquitectura SOA

El nombre completo de la arquitectura SOA es Arquitectura Orientada a Servicios, es decir, arquitectura orientada a servicios. Los componentes de granularidad gruesa acoplados libremente se pueden implementar, combinar y usar de manera distribuida en la red según sea necesario. Un servicio suele existir en un proceso del sistema operativo de forma independiente.
Desde un punto de vista funcional, la lógica empresarial se abstrae en servicios reutilizables. La rápida regeneración del negocio se realiza a través de la orquestación de servicios. El propósito es transformar las funciones comerciales inherentes originales en servicios comerciales generales y lograr la rápida reutilización de la lógica comercial.

Descripción de la arquitectura: extraiga módulos funcionales repetitivos en componentes, proporcione servicios externos y use ESB (Enterprise Service Bus) como puente de comunicación entre proyectos y servicios.
Ventajas de la arquitectura: las funciones o módulos repetidos se extraen como servicios para mejorar la eficiencia del desarrollo. Alta reutilización y alta mantenibilidad
Desventajas de la arquitectura:

  1. El negocio de cada sistema es diferente, es difícil determinar si las funciones o módulos están duplicados
  2. En comparación con los microservicios, la granularidad de extracción es grande
  3. Alto acoplamiento entre sistemas y servicios

4. Arquitectura de microservicios

Descripción de la arquitectura:

  • La capa de servicios del sistema está completamente aislada y extraída como microservicios individuales.
  • La granularidad de extracción es más fina y sigue un único principio.
  • Se transmite utilizando un protocolo de marco ligero.

Ventajas de la arquitectura:

  • La granularidad de la división del servicio es más fina, lo que conduce a mejorar la eficiencia del desarrollo.
  • Puede formular esquemas de optimización correspondientes para diferentes servicios.
  • Aplicable a la era de Internet, el ciclo de iteración del producto es más corto

Desventajas de la arquitectura:

  • La granularidad es demasiado fina, lo que genera demasiados servicios y altos costos de mantenimiento.
  • El costo técnico del desarrollo de sistemas distribuidos es alto, lo que plantea grandes desafíos para el equipo.

Supongo que te gusta

Origin blog.csdn.net/CXgeng/article/details/123111295
Recomendado
Clasificación