¡19 imágenes lo llevan a ordenar los puntos de conocimiento importantes en el sistema SpringCloud!

1. ¿Qué es un microservicio?

1.1, evolución de la arquitectura

El proceso de desarrollo de la arquitectura va desde la arquitectura monolítica hasta la arquitectura distribuida, la arquitectura SOA y la arquitectura de microservicios.
Inserte la descripción de la imagen aquí

Arquitectura monolítica: programa web Java sin división

Inserte la descripción de la imagen aquí

Arquitectura distribuida: De acuerdo con la división vertical del negocio, cada negocio es una arquitectura única, que se llama entre sí a través de API.

Inserte la descripción de la imagen aquí

Arquitectura SOA: SOA es una arquitectura orientada a servicios. Los distintos componentes de su aplicación prestan servicios o consumen servicios a otros componentes mediante protocolos de comunicación en la red, por lo que también es una especie de arquitectura distribuida.

Inserte la descripción de la imagen aquí

1.2, arquitectura de microservicio

Hasta cierto punto, la arquitectura de microservicios es un desarrollo posterior de la arquitectura SOA y actualmente no existe una definición oficial. Martin Fowler, el padre de los microservicios, ofreció una descripción general de los microservicios de la siguiente manera:

1) En la actualidad, no existe una definición unificada y estándar para la industria de los microservicios (aunque no existe una definición precisa de este estilo arquitectónico).

2) Pero en términos generales, la arquitectura de microservicios es un patrón arquitectónico o un estilo arquitectónico. Defiende la división de una sola aplicación en un conjunto de pequeños servicios. Cada servicio se ejecuta en su propio proceso independiente. Coordinar y cooperar entre sí para brindar a los usuarios los valor.

3) Se utiliza un mecanismo de comunicación ligero entre servicios para comunicarse entre sí (normalmente API RESTful basada en HTTP). Cada servicio se basa en un negocio específico y se puede implementar de forma independiente en entornos de producción, entornos similares a la producción, etc.

4) Además, se debe evitar en la medida de lo posible un mecanismo de gestión de servicios unificado y centralizado. Para un servicio específico, se deben seleccionar el lenguaje y las herramientas adecuadas de acuerdo con el contexto empresarial para construirlo, que puede tener una gestión centralizada muy ligera para coordinar estos servicios. Puede usar diferentes idiomas para escribir servicios o puede usar diferentes almacenes de datos.
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

1.3, soluciones de microservicio

Las dos soluciones de microservicio más populares son SpringCloud y Dubbo.

2. Descripción general de SpringCloud

2.1, que es SpringCloud

Como marco de microservicio en lenguaje Java, Spring Cloud se basa en Spring Boot y tiene las características de desarrollo rápido, entrega continua y fácil implementación. Spring Cloud tiene muchos componentes, que involucran todos los aspectos de los microservicios, y se está volviendo cada vez más perfecto con la promoción de la comunidad de código abierto Spring y Netflix Pivotal.
SpringCloud es una colección orgánica de una serie de componentes.
Figura 7: Sistema de tecnología SpringCloud
Inserte la descripción de la imagen aquí

2.2, componentes principales de SpringCloud

2.2.1 、 Eureka

Netflix Eureka es un componente de descubrimiento de servicios basado en REST de código abierto de Netflix, que incluye Eureka Server y Eureka Client.
Inserte la descripción de la imagen aquí

2.2.2 、 Cinta

Un componente de equilibrio de carga de código abierto de Ribbon Netflix.
Inserte la descripción de la imagen aquí

2.2.3 、 Fingir

Feign es un cliente de servicio web declarativo.
Inserte la descripción de la imagen aquí

2.2.4 、 Hystrix

Hystrix es un proyecto de código abierto de Netflix, que proporciona una función de fusible para evitar fallas de enlace en sistemas distribuidos.
Inserte la descripción de la imagen aquí

2.2.5 、 Zuul

Zuul es un componente de código abierto dedicado a las soluciones de "puerta de enlace" incubadas por Netflix.
Inserte la descripción de la imagen aquí

2.2.6 、 Puerta de enlace

Spring Cloud Gateway es una puerta de enlace desarrollada por Spring oficialmente basada en las tecnologías Spring 5.0, Spring Boot 2.0 y Project Reactor. Spring Cloud Gateway tiene como objetivo proporcionar un método de administración de enrutamiento API simple, efectivo y unificado para la arquitectura de microservicios.
Inserte la descripción de la imagen aquí

2.2.7 、 Configuración

Spring Cloud proporciona Spring Cloud Config en configuración distribuida, que proporciona soporte de cliente y servidor para configuración externa.
Inserte la descripción de la imagen aquí

2.2.8 、 Autobús

Con Spring Cloud Bus, puede crear fácilmente un bus de mensajes.
Inserte la descripción de la imagen aquí

2.2.9 、 OAuth2

El sistema de microservicios creado por Sprin Cloud puede usar Spring Cloud OAuth2 para proteger el sistema de microservicios.
Inserte la descripción de la imagen aquí

2.2.10 、 Detective

Spring Cloud Sleuth es un componente de Spring Cloud y su función principal es proporcionar una solución para el seguimiento de enlaces de servicios en un sistema distribuido.
Inserte la descripción de la imagen aquí

3. Resumen

Este artículo proporciona una descripción general de la evolución de la arquitectura y los componentes básicos de Spring Cloud para crear microservicios.
Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/m0_46864744/article/details/112761184
Recomendado
Clasificación