I. Descripción general
Spring Cloud Alibaba es una solución integral para Spring Cloud y la arquitectura de microservicios de Alibaba. Proporciona varios componentes en el ecosistema Spring Cloud con la conexión con el middleware de Alibaba, más conveniente y fácil de usar, y un rápido desarrollo de microservicios. Capacidad y soporte
2. Componentes de uso común
- Nacos: registro y descubrimiento de servicios, centro de configuración, que proporciona registro y descubrimiento de servicios, configuración distribuida y otras capacidades.
- Sentinel: control de tráfico, degradación del servicio, monitoreo de aplicaciones en tiempo real y capacidades de control de admisión en línea.
- RocketMQ: servicio de mensajes, que proporciona un servicio de mensajes confiable y capacidades de seguimiento de mensajes.
- Seata: transacciones distribuidas, que proporciona soporte para transacciones distribuidas de alto rendimiento y alta confiabilidad.
- Dubbo: un marco RPC que proporciona capacidades de invocación de servicios remotos de baja latencia y alto rendimiento.
- Alibaba Cloud SDK: biblioteca de soporte de Alibaba Cloud, que proporciona capacidades de infraestructura de computación en la nube.
3. Ventajas de SpringCloud Alibaba
1. Basado en Spring Cloud: Spring Cloud es un marco de microservicios maduro, y Spring Cloud Alibaba se amplía y mejora en Spring Cloud, lo que puede proporcionar un mejor soporte de arquitectura de microservicios.
2. Soporte rico en middleware de Alibaba Cloud: Spring Cloud Alibaba puede integrar una variedad de middleware de Alibaba Cloud, incluido el registro y descubrimiento de servicios, el centro de configuración, la cola de mensajes, las transacciones distribuidas, etc., brindando un mejor soporte para aplicaciones de microservicios de nivel empresarial.
3. Alto rendimiento y confiabilidad: basado en la tecnología y la experiencia de Alibaba, Spring Cloud Alibaba tiene una buena garantía en términos de rendimiento y confiabilidad, y es adecuado para escenarios de aplicaciones de nivel empresarial de alta concurrencia y alta carga.
4. Facilidad de uso y alta eficiencia: cada componente de Spring Cloud Alibaba proporciona una gran cantidad de documentación y ejemplos, y los desarrolladores pueden comenzar rápidamente con la programación para mejorar la eficiencia del desarrollo.
5. Comunidad activa: la comunidad de Spring Cloud Alibaba es muy activa, con muchos desarrolladores excelentes contribuyendo y manteniéndola, quienes pueden resolver problemas y brindar soporte de manera oportuna.
4. Construcción del proyecto
1. Cree una dependencia de importación del proyecto principal
<!--SpringCloud-->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.2.1.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Hoxton.SR3</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
2. Instale e inicie Nacos
3. Agregar dependencia de Nacos
<dependency>
<groupId>com.alibaba.cloud </groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
4. Inicie el registro del servicio de anotación de clase @EnableDiscoveryClient
5. yml configura la información del centro de configuración de Nacos
spring:
main:
allow-bean-definition-overriding: true
profiles:
active: dev
application:
name: service-user
cloud:
nacos:
discovery:
server-addr: localhost:8848 #注册中心
config:
server-addr: localhost:8848 #配置中心
file-extension: yaml #配置文件格式
prefix: application-user #配置前缀 ,默认使用sring.application.name
group: DEFAULT_GROUP
namespace:
6. Configure la interfaz de llamada de Feign. Cuando use Feign para llamar a la interfaz, debe agregar dependencias relevantes y usar la anotación @EnableFeignClients en la clase de inicio para habilitar la función Feign.
7. Instale e inicie Sentinel
8. Configure el fusible de límite de corriente de Sentinel y agregue dependencias relacionadas con Sentinel en pom.xml
<!--sentinel依赖-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
9, configuración yml para abrir Sentinel
feign:
sentinel:
enabled: true