Spring Cloud Alibaba es una solución integral para crear aplicaciones distribuidas, que se integra perfectamente con el middleware de Alibaba. Simplifica el desarrollo al ofrecer una ventanilla única para los componentes esenciales y requerir una configuración mínima. Este documento detalla sus características, componentes, uso y pautas de contribución.
Nube de primavera Alibaba
Un proyecto mantenido por Alibaba.
Consulte el archivo Léame chino en 中文文档.
Spring Cloud Alibaba proporciona una solución integral para el desarrollo de aplicaciones distribuidas. Contiene todos los componentes necesarios para desarrollar aplicaciones distribuidas, lo que le facilita el desarrollo de sus aplicaciones utilizando Spring Cloud.
Con Spring Cloud Alibaba, solo necesita agregar algunas anotaciones y una pequeña cantidad de configuraciones para conectar las aplicaciones Spring Cloud a las soluciones distribuidas de Alibaba y construir un sistema de aplicaciones distribuidas con middleware de Alibaba.
Características
Para obtener más funciones, consulte la hoja de ruta.
Además de las características mencionadas anteriormente, para las necesidades de los escenarios de los usuarios empresariales, Microservices Engine (MSE) de la versión empresarial de Spring Cloud Alibaba proporciona un centro de gobierno de microservicios a nivel empresarial, que incluye capacidades de gobierno más poderosas, como Grayscale Release, Service Calentamiento, sin pérdidas en línea y fuera de línea y expulsión de valores atípicos. Al mismo tiempo, también proporciona una variedad de productos y soluciones, como el centro de configuración/registro de Nacos de nivel empresarial y la puerta de enlace nativa de la nube de nivel empresarial.
Componentes
Sentinel: Sentinel toma el "flujo de tráfico" como punto de avance y proporciona soluciones en áreas como control de flujo, concurrencia, interrupción de circuitos y protección de carga para proteger la estabilidad del servicio.
Nacos: una plataforma dinámica de gestión de servicios, configuración y descubrimiento de servicios fácil de usar para crear aplicaciones nativas de la nube.
RocketMQ: una plataforma de transmisión y mensajería distribuida con baja latencia, alto rendimiento y confiabilidad, capacidad de un billón de niveles y escalabilidad flexible.
Seata: una solución de transacciones distribuidas con alto rendimiento y facilidad de uso para arquitectura de microservicios.
Alibaba Cloud OSS: un servicio de almacenamiento en la nube seguro y cifrado que almacena, procesa y accede a cantidades masivas de datos desde cualquier parte del mundo.
Alibaba Cloud SMS: Alibaba SMS, un servicio de mensajería que cubre todo el mundo, proporciona capacidades de comunicación convenientes, eficientes e inteligentes que ayudan a las empresas a comunicarse rápidamente con sus clientes.
Alibaba Cloud SchedulerX: servicios de programación de trabajos programados precisos, altamente confiables y de alta disponibilidad con tiempo de respuesta en segundos.
Para obtener más funciones, consulte la hoja de ruta.
como construir
Spring Cloud usa Maven para la mayoría de las actividades relacionadas con la compilación, y debería poder despegar con bastante rapidez clonando el proyecto que le interesa y escribiendo:
Cómo utilizar
Agregar dependencia de maven
Estos artefactos están disponibles en el repositorio Maven Central y Spring Release a través de BOM:
agregue el módulo en dependencias. Si desea elegir una versión anterior, puede consultar las Notas de la versión.
Ejemplos
En nuestro proyecto se incluye un módulo spring-cloud-alibaba-examples para que pueda comenzar rápidamente con Spring Cloud Alibaba. Contiene un ejemplo y puede consultar el archivo Léame en el proyecto de ejemplo para obtener un recorrido rápido.
Ejemplos:
Ejemplo centinela
Ejemplo de Nacos
Ejemplo de RocketMQ
Ejemplo de OSS en la nube de Alibaba
Directrices de control de versiones
El número de versión del proyecto tiene el formato xxx, donde x es un número que comienza en 0 y no se limita al rango de 0 a 9. Cuando el proyecto está en fase de incubadora, el número de versión es 0.xx
Como las interfaces y anotaciones de Spring Boot 1 y Spring Boot 2 se han cambiado significativamente en el módulo Actuator, y spring-cloud-commons también cambió bastante de 1.xx a 2.0.0, tomamos la misma regla de versión que Número de versión de SpringBoot.
Código de conducta
Este proyecto es un subproyecto de Spring Cloud y se adhiere al código de conducta del Contributor Covenant. Al participar, se espera que respete este código. Informe el comportamiento inaceptable a [email protected].
Convenciones de código y limpieza
Ninguno de estos es esencial para una solicitud de extracción, pero todos ayudarán. También se pueden agregar después de la solicitud de extracción original pero antes de una fusión.
Utilice las convenciones de formato de código de Spring Framework. Si usa Eclipse, puede importar la configuración del formateador usando el archivo eclipse-code-formatter.xml del proyecto Spring Cloud Build. Si usa IntelliJ, puede usar el complemento Eclipse Code Formatter para importar el mismo archivo.
Asegúrese de que todos los archivos .java nuevos tengan un comentario de clase Javadoc simple con al menos una etiqueta @author que lo identifique y, preferiblemente, al menos un párrafo sobre para qué sirve la clase.
Agregue el comentario del encabezado de la licencia ASF a todos los archivos .java nuevos (cópielos de los archivos existentes en el proyecto)
Agréguese como @autor a los archivos .java que modifique sustancialmente (más que cambios cosméticos).
Agregue algunos Javadocs y, si cambia el espacio de nombres, algunos elementos del documento XSD.
Algunas pruebas unitarias también ayudarían mucho: alguien tiene que hacerlo.
Si nadie más está usando su rama, vuelva a basarla en la versión 2023.x actual (u otra rama de destino en el proyecto principal).
Al escribir un mensaje de confirmación, siga estas convenciones; si está solucionando un problema existente, agregue Correcciones gh-XXXX al final del mensaje de confirmación (donde XXXX es el número del problema).
Contáctenos
Se recomienda la lista de correo para discutir casi cualquier tema relacionado con spring-cloud-alibaba.
[email protected]: puede hacer preguntas aquí si encuentra algún problema al usar o desarrollar spring-cloud-alibaba.