SpringCloud combat project conjunto completo de tutoriales de aprendizaje en serie
Tutorial de aprendizaje PassJava
Introduccion
- El proyecto PassJava-Learning es un tutorial de aprendizaje para el proyecto PassJava. Explicar los puntos principales de arquitectura, negocios y tecnología.
- PassJava es un
面试刷题
sistema de código abierto para Java . Puede usar pequeños programas para ver preguntas comunes de entrevistas en una fracción del tiempo para consolidar la base de Java. - El proyecto PassJava puede enseñarle cómo construir el proyecto SpringBoot, el proyecto Spring Cloud
- Utilice tecnologías populares como SpringBoot, MyBatis, Redis, MySql, MongoDB, RabbitMQ, Elasticsearch y adopte la implementación en contenedores de Docker.
Mejor experiencia de lectura.
- Dirección del documento: http://www.jayh.club
- Dirección alternativa: https://jackson0714.github.io/PassJava-Learning
Directorio de serialización de documentos
- Cree un pequeño programa que cepille el conocimiento de Java
- Cree un pequeño programa que cepille el conocimiento de Java (2)
- 01. Comprender conceptos básicos distribuidos en cinco minutos
- 02. Cree rápidamente un entorno Linux, esencial para la operación y el mantenimiento
- 03. Configurar la red de máquinas virtuales
- 04. Instalar Docker
- 05.Docker instala mysql
- 06. Docker install redis
- 07. Configuración del entorno de desarrollo local
- 08. Configurar Git
- 09. Inicializa el proyecto y agrega microservicios
- 10.Diagrama de división de servicio PassJava-micro
- 11. Inicialice la base de datos y las tablas.
- 12. Construir antecedentes de gestión
- 13. Genera automáticamente códigos de front-end y back-end
- 14. Integre MyBatis-Plus para lograr CRUD
- 15. Generar código CRUD para todos los microservicios.
- 16. Introducción a los componentes de Spring Cloud Alibaba
Introducción a los componentes de SpringCloud Alibaba
1. Descripción general de Spring Cloud Alibaba
Spring Cloud Alibaba se compromete a proporcionar una solución integral para el desarrollo de microservicios. Este proyecto contiene los componentes necesarios para el desarrollo de microservicios de aplicaciones distribuidas para que los desarrolladores puedan usar fácilmente estos componentes para desarrollar servicios de aplicaciones distribuidas a través del modelo de programación Spring Cloud.
Basándose en Spring Cloud Alibaba, solo necesita agregar algunas anotaciones y una pequeña cantidad de configuración para conectar las aplicaciones Spring Cloud a las soluciones de microservicios de Alibaba, y construir rápidamente sistemas de aplicaciones distribuidas a través del middleware Alibaba.
Github: https://github.com/alibaba/spring-cloud-alibaba
Varios puntos importantes de Spring Cloud
- Algunos componentes se detienen para mantenimiento y actualización, y los problemas no son fáciles de resolver
- Algunos entornos son más complicados de construir, y no hay una interfaz visual muy amigable
- La configuración es relativamente compleja y requiere altos costos de aprendizaje.
Ventajas de Spring Cloud Alibaba
- Ali ha pasado la prueba del tiempo
- Diseño razonable
- Tiene una buena interfaz visual para facilitar la operación y mantenimiento, monitoreo y resolución de problemas.
- Construcción y configuración del entorno simple, bajo costo de aprendizaje
Proyecto PassJava con la solución de coincidencia de tecnología SpringCloud Alibaba
Descripción | Nube de primavera | Nube de primavera Alibaba | Selección combinada |
---|---|---|---|
Componente de descubrimiento de servicio | Componente de descubrimiento del servicio Eureka (detener el mantenimiento) | Centro de registro de Nacos | Nube de primavera Alibaba - Nacos |
Componentes del centro de configuración | Centro de configuración de Spring Cloud Config | Centro de configuración de Nacos | Nube de primavera Alibaba - Nacos |
Componentes de protección contra roturas | Protección de circuito Hystrix | Tolerancia a fallos de servicio centinela | Nube de primavera Alibaba - Centinela |
Componente de seguimiento de enlaces | Monitoreo de la cadena de llamadas de detective | / / | Nube de primavera - Detective |
Componentes de equilibrio de carga | Cinta | / / | Nube de primavera - cinta |
Componente de llamada remota | OpenFeign (HTTP + JSON) | Dubbo (marco RPC) | Nube de primavera - OpenFeign |
Transacción distribuida | / / | Transacciones distribuidas Seata | Nube de primavera Alibaba - Seata |
API Gateway | Puerta | / / | Spring Cloud - Gateway |
Selección técnica final:
Spring Cloud Alibaba - Nacos 实现注册中心
Spring Cloud Alibaba - Nacos 实现配置中心
Spring Cloud Alibaba - Sentinel 实现服务容错
Spring Cloud Alibaba - Seata 实现分布式事务
Spring Cloud - Ribbon 实现负载均衡
Spring Cloud - Feign 实现远程调用
Spring Cloud - Gateway API网关
Spring Cloud - Sleuth 实现调用链监控
2. Versión Spring Cloud Alibaba
El formato del número de versión del proyecto tiene la forma de xxx, donde el tipo numérico de x es un número, que comienza desde 0 y no está limitado al rango de 0 ~ 9. Cuando el proyecto se encuentra en la etapa de incubadora, el primer número de versión se fija en 0, es decir, el número de versión tiene el formato 0.xx.
Debido a que las interfaces y las anotaciones de Spring Boot 1 y Spring Boot 2 en el módulo Actuator han cambiado mucho, y la actualización de spring-cloud-commons de la versión 1.xx a la versión 2.0.0 también tiene cambios importantes, por lo que Ali adopta la versión con SpringBoot Versión consistente:
- La versión 1.5.x se aplica a Spring Boot 1.5.x
- La versión 2.0.x se aplica a Spring Boot 2.0.x
- La versión 2.1.x se aplica a Spring Boot 2.1.x
- La versión 2.2.x se aplica a Spring Boot 2.2.x
Lista de compatibilidad de las versiones Spring Cloud Alibaba y Spring Cloud y Spring Boot
Versión Spring Cloud | Versión Spring Cloud Alibaba | Versión Spring Boot |
---|---|---|
Spring Cloud Hoxton.SR3 | 2.2.x.RELEASE | 2.2.x.RELEASE |
Spring Cloud Greenwich | 2.1.x.RELEASE | 2.1.x.RELEASE |
Spring Cloud Finchley | 2.0.x.RELEASE | 2.0.x.RELEASE |
Spring Cloud Edgware | 1.5.x.RELEASE | 1.5.x.RELEASE |
Nosotros usamos Spring Cloud Hoxton.SR3
, Spring Cloud Alibaba 2.2.0.RELEASE
,Spring Boot 2.2.6 RELEASE
El archivo PassJava-Common pom.xml introduce la dependencia de Spring Cloud Alibaba
<dependencyManagement>
<dependencies>
<!-- Spring Cloud Alibaba 依赖 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.2.0.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Dirección de código
https://github.com/Jackson0714/PassJava-Platform