Spring Cloud para soluciones de microservicios

(1) Introducción básica a Spring Cloud

Spring Cloud es un proyecto lanzado por Pivotal en 2015. Es posible que muchas personas no conozcan Pivotal. Spring es desarrollado por Pivotal.

Las principales soluciones de microservicios de la industria incluyen principalmente:
Spring Cloud Netflix
Spring Cloud Alibaba

En pocas palabras, Spring Cloud proporciona algunas herramientas que permiten a los desarrolladores crear rápidamente aplicaciones de microservicio, como descubrimiento de servicios de administración de configuración, fusión, enrutamiento inteligente, etc. Estos servicios pueden funcionar bien en cualquier entorno distribuido. Spring Cloud se compromete principalmente a resolver los siguientes problemas:

Distributed/versioned configuration 分布式及版化配置
Service registration and discovery  服务注册与发现
Routing  服务路由
Service-to-service calls  服务调用
Load balancing  负载均衡
Circuit Breakers  断路器
Global locks 全局锁
Leadership election and cluster state   Leader选举及集群状态
Distributed messageing 分布式消息

Cabe señalar que Spring Cloud no es un nuevo marco desarrollado por el equipo de Spring. Simplemente integra algunos de los marcos de código abierto más excelentes que resuelven problemas comunes en la arquitectura de microservicios basada en la especificación de Spring Cloud, y los vuelve a empaquetar a través de Spring Boot. La compleja configuración está protegida para proporcionar a los desarrolladores una buena experiencia de desarrollo de microservicios lista para usar. No es difícil ver que Spring Cloud es en realidad un conjunto de especificaciones, y Spring Cloud Netflix, Spring Cloud Consul y Spring Cloud Alibaba son las implementaciones de las especificaciones de Spring Cloud.

(2) Introducción a la versión Spring Cloud

Spring Cloud es un conjunto de especificaciones que integra las tecnologías de código abierto de las principales empresas, y cada empresa mantiene el lanzamiento de estas tecnologías de código abierto, y cada subproyecto mantiene su propio número de versión de lanzamiento, por lo que no es como en el Nombre de la versión con sentido tradicional, en lugar de usar el nombre de la estación de metro de Londres para definir una versión principal de acuerdo con el orden alfabético combinado con el orden cronológico de la versión correspondiente, el orden de lanzamiento de las versiones anteriores de
Inserte la descripción de la imagen aquí
Spring Cloud es el siguiente: Cada La versión principal de Spring Cloud pasa la lista de materiales (BOM) para administrar la lista de versiones de cada subproyecto. La siguiente figura muestra la lista de versiones de cada subproyecto proporcionada por el sitio web oficial de Spring Cloud. El encabezado (Edgware.SR6, Greenwich.SR2) indica el número de versión principal de Spring Cloud. El contenido de la tabla es el número de versión de todos los subproyectos correspondientes al número de versión principal actual. En pocas palabras, si presentamos la versión de Spring Cloud a Edgware.SR6, entonces el número de versión del Spring-Cloud-Aws dependiente es 1.2.4.RELEASE, y el número de versión de Spring-Cloud-Bus es 1.3. 4. LIBERACIÓN. Los lectores atentos encontrarán que hay un SR6 / .SR2 adicional después del número de versión de Spring Cloud. Después de que el lanzamiento del proyecto Spring Cloud se haya acumulado hasta un punto crítico o resuelto algunos errores graves, una versión de Service Release, conocida como SRX, será lanzado. X es un número creciente.

Inserte la descripción de la imagen aquí

Vale la pena señalar que todos los subproyectos en Spring Cloud dependen del marco Spring Boot, por lo que también existe una relación de dependencia y compatibilidad entre el número de versión del marco Spring Boot y el número de versión de Spring Cloud. Como se muestra en la Figura 2-2, es la dependencia de la versión proporcionada oficialmente por Spring Cloud. Edgware y Dalston se pueden construir en Spring Boot 1.5.x, pero no son compatibles con Spring Boot 2.0.x. Y, a partir de la versión de Finchley, la versión de Spring Boot debe ser superior a 2.0.xy Spring Boot 1.5.X no es compatible

Inserte la descripción de la imagen aquí

(3) Implementación de Spring Cloud Netflix bajo la especificación Spring Cloud

Hay dos soluciones principales para la gobernanza de servicios en el ecosistema de Spring Cloud: Spring Cloud Netflix y Spring Cloud Alibaba. Estas dos soluciones son la integración de Netflix OSS y el sistema de gobierno de servicios de Alibaba basado en la especificación Spring Cloud. El libro se basa principalmente en la ecología Spring Cloud Alibaba para obtener explicaciones detalladas.

Spring Cloud Netflix proporciona principalmente soluciones para la gobernanza de servicios bajo la arquitectura de microservicios, incluidos los siguientes componentes:

Inserte la descripción de la imagen aquí
Nota: Netflix anunció que los siguientes componentes ingresarán al modo de mantenimiento, sin actualizaciones importantes de funciones
Inserte la descripción de la imagen aquí

(4) Implementación de Spring Cloud Alibaba bajo la especificación Spring Cloud

(1) Marco técnico

Spring Cloud Alibaba es la implementación de componentes de código abierto y productos en la nube bajo el Grupo Alibaba bajo la especificación Spring Cloud. El 31 de octubre de 2018, Spring Cloud Alibaba ingresó oficialmente a la incubadora oficial de Spring Cloud y lanzó la primera versión preliminar.

Spring Cloud Alibaba proporciona principalmente soluciones integrales para el desarrollo de microservicios, lo que permite a los desarrolladores resolver fácilmente varios problemas técnicos bajo la arquitectura de microservicios a través del modelo de programación Spring Cloud. Los siguientes son los principales componentes funcionales del ecosistema Spring Cloud Alibaba. Estos componentes incluyen componentes de código abierto y componentes de productos Alibaba Cloud. Los productos en la nube deben pagarse.

Inserte la descripción de la imagen aquí

(2) Análisis de ventajas

1. Los componentes de código abierto de Alibaba se han utilizado ampliamente en las principales empresas antes de integrarse en el ecosistema de Spring Cloud, por lo que la integración en el ecosistema de Spring Cloud permite a los desarrolladores implementar fácilmente la integración y la migración de tecnología.

2. Los componentes de código abierto de Alibaba tienen ventajas naturales en la gobernanza del servicio y la capacidad de manejar una alta concurrencia Después de todo, estos componentes se han sometido a varias pruebas de doble 11 y se han aplicado a gran escala por las principales empresas de Internet. Por lo tanto, en comparación con Spring Cloud Netflix, la capacidad de Spring Cloud Alibaba en la gobernanza del servicio es más adecuada para escenarios técnicos domésticos. Al mismo tiempo, Spring Cloud Alibaba no solo cubre completamente las características nativas de Spring Cloud Netflix, sino que también proporciona más estabilidad y madurez. implementación, soy muy optimista sobre el desarrollo futuro de SpringCloud Alibaba.

(3) Versión de Spring Cloud Alibaba

Spring Cloud Alibaba lanzó la primera versión preliminar el 31 de octubre de 2018, 0.2.0.RELEASE y 0.1.0.RELEASE, de los cuales 0.1.0.RELEASE es compatible con Spring Boot 1.5.xy 0.2.0.RELEASE es compatible con Spring Boot 1.5.x. Spring Boot 2.0.x es compatible. Dado que Spring Cloud se basa
en el marco de Spring Boot para la integración, y Spring Boot 1 y Spring Boot 2, hay un gran cambio en términos de clase y algunas notas de configuración, etc., por lo que durante un período de tiempo, si actualiza, o lo hará ser considerado compatible con la versión anterior.

En la actualidad, Spring Cloud Alibaba ha lanzado dos versiones de graduación, la última versión corresponde a la relación de versiones de cada subproyecto como se muestra en la figura.
Inserte la descripción de la imagen aquí

Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/Octopus21/article/details/113789615
Recomendado
Clasificación