Spring Cloud (1): descripción general de los microservicios

1. ¿Qué es un microservicio?

El microservicio es un estilo arquitectónico y un método de diseño arquitectónico. Una aplicación de software grande y compleja consta de uno o más microservicios. Cada microservicio en el sistema se puede implementar de forma independiente y cada microservicio se acopla libremente. Cada microservicio solo está enfocado en hacer una tarea y hacerlo bien. En todos los casos, cada tarea representa una capacidad de pequeña empresa.

2. ¿Por qué necesitamos microservicios?

En el modo de desarrollo tradicional, la mayoría de las aplicaciones web se construyen con el estilo de arquitectura monolítica, lo que hace que todas las interfaces, la capa de lógica empresarial y la capa de persistencia de datos estén empaquetadas en una aplicación web y dispuestas en una En un servidor, diferentes módulos estaban altamente acoplados juntos antes Este modelo de desarrollo hace que el costo de desarrollo del desarrollo colaborativo de varios equipos sea extremadamente alto.

3. Problemas existentes en aplicaciones monolíticas

  • El desarrollo se vuelve cada vez más complejo a medida que crece el negocio

  • Al modificar una sola función, todo el sistema debe empaquetarse e implementarse

  • Múltiples equipos operan y administran datos al mismo tiempo, lo que es propenso a vulnerabilidades de seguridad

  • Cada módulo se desarrolla utilizando una tecnología relativamente unificada, es difícil elegir un marco técnico más apropiado para cada módulo de acuerdo con la situación real y la escalabilidad del sistema es relativamente baja.

  • El acoplamiento entre los módulos es alto y a los recién llegados les lleva tiempo comenzar

distribuido, clúster

Clúster : un servidor no puede cargar un alto acceso de datos simultáneos y es necesario configurar más servidores para compartir la presión. Resuelva problemas de alta concurrencia desde el nivel físico, como abrir más ventanillas de boletos en las estaciones de tren durante la temporada de viajes del Festival de Primavera.

Distribuido : divida una arquitectura de proyecto grande en varios microservicios para completar en colaboración. Resolver problemas a nivel de diseño de software, como dividir la compra de boletos en estadísticas de salida y destino, verificar si hay boletos y comprar boletos de manera unificada, estas pequeñas tareas son realizadas por diferentes personas, y finalmente todos los se procesan los resultados del trabajo Integración para lograr mayores necesidades.

Cuarto, las ventajas de los microservicios.

  1. El desarrollo, las pruebas y la implementación de cada servicio son independientes entre sí. Se pueden realizar más operaciones en un servicio específico, como el equilibrio de carga.

  2. Cuando se agrega un nuevo requisito, los proyectos tradicionales deben considerar el impacto de varios aspectos. Los microservicios no tienen tales problemas, lo que ahorra problemas, esfuerzos y preocupaciones.

  3. Después de dividir el proyecto mediante microservicios, solo es necesario garantizar el funcionamiento normal de la interfaz externa, lo que reduce en gran medida el acoplamiento entre módulos y mejora en gran medida la eficiencia del desarrollo.

5. Desventajas de los microservicios

  1. La división de microservicios se basa en el negocio y no se puede dividir a voluntad, por lo que la división es una tarea muy importante y desafiante para la arquitectura del proyecto.

  2. Cuando se trata de llamadas entre servicios, muchas veces es necesario comunicarse con otro proveedor de servicios, si hay dos empresas o departamentos completamente diferentes, el costo de comunicación es relativamente alto, si se necesita modificar la interfaz externa de un servicio, también necesita comunicarse con otros servicios La persona que llama se comunica.

  3. Dado que cada servicio es independiente entre sí y los datos también son independientes, cómo garantizar la consistencia de los datos es un punto difícil cuando se operan las interfaces de múltiples servicios. La consistencia de los datos es un problema difícil en los microservicios.

6. Por qué elegir Spring Cloud

Aunque los microservicios también tienen muchas desventajas, las fallas no están ocultas.En términos generales, los microservicios siguen siendo una muy buena forma de implementar una arquitectura distribuida. Es una tecnología muy candente en la actualidad, y también es la tendencia del desarrollo tecnológico futuro. Los marcos de microservicios más comunes son Spring Cloud y dubbo. Entonces, ¿por qué elegimos Spring Cloud?, las razones son las siguientes:

1. Spring Cloud se basa completamente en Spring Boot, y la llamada de servicio se basa en REST API, que integra varios productos y arquitecturas maduros.Al mismo tiempo, basado en Spring Boot, también realiza el desarrollo, la configuración y la implementación generales. muy conveniente.

2. La serie de productos Spring tiene las ventajas de funciones completas, simple y fácil de usar, hermoso rendimiento y documentos estandarizados.

Seven, la arquitectura general de Spring Cloud

inserte la descripción de la imagen aquí

Ocho, los componentes principales de Spring Cloud

Spring Cloud consta de varios componentes, principalmente el gobierno del servicio Eureka, la cinta de comunicación del servicio, la comunicación del servicio Feign, la puerta de enlace del servicio Zuul, la tolerancia a fallas del servicio Hystrix, la configuración del servicio Config, el actuador de monitoreo del servicio, el seguimiento del servicio Zipkin y otros 8 componentes principales. El aprendizaje de Spring Cloud es principalmente para aprender el uso de estos componentes y la integración entre estos componentes.
inserte la descripción de la imagen aquí

9. Cómo administrar el servicio

El núcleo de la gobernanza de servicios consta de tres partes: proveedores de servicios, consumidores de servicios y registro.

Registro del servicio: en la arquitectura del sistema distribuido, cada microservicio almacenará su propia información en el centro de registro cuando se inicie.

Descubrimiento del servicio: el consumidor del servicio obtiene la información del proveedor del servicio del centro de registro y llama al servicio del proveedor del servicio a través de esta información. ,

Luego, el gobierno de servicios de Spring Cloud se implementa utilizando Eureka. ¿Cómo funciona? Esperemos Spring Cloud (2): Eureka Server Registration Center

Un ingeniero de desarrollo también está en la etapa de aprendizaje continuo, y las pequeñas experiencias habituales se comparten de vez en cuando. Espero que quienes lean el texto que escribí puedan evitar desvíos y les deseo éxito en el trabajo y el estudio.
Los bloggers tienen experiencia limitada, si hay alguna deficiencia, bienvenidos a comunicarnos y mejorar juntos ~ Espero progresar junto con ustedes que también están en CSDN.

Autor | Sweet Little Sweet Potato
Producido | Little Sweet Potato

Supongo que te gusta

Origin blog.csdn.net/qq_36836370/article/details/130869680
Recomendado
Clasificación