Spring Cloud Alibaba est une solution complète permettant de créer des applications distribuées, s'intégrant de manière transparente au middleware d'Alibaba. Il simplifie le développement en offrant un guichet unique pour les composants essentiels et en nécessitant une configuration minimale. Ce document détaille ses fonctionnalités, ses composants, son utilisation et ses directives de contribution.
Nuage de printemps Alibaba
Un projet maintenu par Alibaba.
Voir le 中文文档 pour le fichier readme en chinois.
Spring Cloud Alibaba fournit une solution unique pour le développement d'applications distribuées. Il contient tous les composants nécessaires au développement d'applications distribuées, ce qui vous permet de développer facilement vos applications à l'aide de Spring Cloud.
Avec Spring Cloud Alibaba, il vous suffit d'ajouter quelques annotations et une petite quantité de configurations pour connecter les applications Spring Cloud aux solutions distribuées d'Alibaba et de créer un système d'applications distribuées avec le middleware Alibaba.
Caractéristiques
Pour plus de fonctionnalités, veuillez vous référer à la feuille de route.
En plus des fonctionnalités mentionnées ci-dessus, pour les besoins des scénarios des utilisateurs d'entreprise, le moteur de microservices (MSE) de la version entreprise de Spring Cloud Alibaba fournit un centre de gouvernance des microservices au niveau de l'entreprise, qui comprend des fonctionnalités de gouvernance plus puissantes telles que Grayscale Release, Service Échauffement, éjection sans perte en ligne et hors ligne et valeurs aberrantes. Dans le même temps, il fournit également une variété de produits et de solutions tels qu'un centre d'enregistrement/de configuration Nacos au niveau de l'entreprise et une passerelle native cloud au niveau de l'entreprise.
Composants
Sentinel : Sentinel prend le « flux de trafic » comme point de rupture et fournit des solutions dans des domaines tels que le contrôle de flux, la concurrence, la coupure de circuit et la protection de charge pour protéger la stabilité du service.
Nacos : une plate-forme dynamique de découverte de services, de configuration et de gestion de services facile à utiliser pour créer des applications cloud natives.
RocketMQ : une plate-forme de messagerie et de streaming distribuée avec une faible latence, des performances et une fiabilité élevées, une capacité de plusieurs milliards et une évolutivité flexible.
Seata : une solution de transaction distribuée offrant de hautes performances et une facilité d'utilisation pour l'architecture de microservices.
Alibaba Cloud OSS : un service de stockage cloud crypté et sécurisé qui stocke, traite et accède à d'énormes quantités de données depuis n'importe où dans le monde.
Alibaba Cloud SMS : service de messagerie qui couvre le monde entier, Alibaba SMS offre des capacités de communication pratiques, efficaces et intelligentes qui aident les entreprises à contacter rapidement leurs clients.
Alibaba Cloud SchedulerX : services de planification de tâches planifiées précis, hautement fiables et hautement disponibles avec un temps de réponse en quelques secondes.
Pour plus de fonctionnalités, veuillez vous référer à la feuille de route.
Comment construire
Spring Cloud utilise Maven pour la plupart des activités liées à la construction, et vous devriez pouvoir démarrer assez rapidement en clonant le projet qui vous intéresse et en tapant :
Comment utiliser
Ajouter une dépendance maven
Ces artefacts sont disponibles dans les référentiels Maven Central et Spring Release via BOM :
ajoutez le module dans les dépendances. Si vous souhaitez choisir une version plus ancienne, vous pouvez vous référer aux Notes de version.
Exemples
Un module spring-cloud-alibaba-examples est inclus dans notre projet pour vous permettre de démarrer rapidement avec Spring Cloud Alibaba. Il contient un exemple et vous pouvez vous référer au fichier Lisezmoi dans l'exemple de projet pour une présentation rapide.
Exemples :
Exemple de sentinelle
Exemple de Nacos
Exemple RocketMQ
Exemple d'Alibaba Cloud OSS
Directives de contrôle de version
Le numéro de version du projet est au format xxx, où x est un nombre commençant à 0 et n'est pas limité à la plage 0~9. Lorsque le projet est en phase d'incubateur, le numéro de version est 0.xx
Comme les interfaces et les annotations de Spring Boot 1 et Spring Boot 2 ont été considérablement modifiées dans le module Actuator et que spring-cloud-commons a également beaucoup changé de 1.xx à 2.0.0, nous prenons la même règle de version que Numéro de version SpringBoot.
Code de conduite
Ce projet est un sous-projet de Spring Cloud, il adhère au code de conduite Contributor Covenant. En participant, vous êtes censé respecter ce code. Veuillez signaler tout comportement inacceptable à [email protected].
Conventions du code et entretien interne
Aucun de ces éléments n’est essentiel pour une pull request, mais ils seront tous utiles. Ils peuvent également être ajoutés après la pull request d'origine mais avant une fusion.
Utilisez les conventions de format de code Spring Framework. Si vous utilisez Eclipse, vous pouvez importer les paramètres du formateur à l'aide du fichier Eclipse-code-formatter.xml du projet Spring Cloud Build. Si vous utilisez IntelliJ, vous pouvez utiliser le plugin Eclipse Code Formatter pour importer le même fichier.
Assurez-vous que tous les nouveaux fichiers .java contiennent un simple commentaire de classe Javadoc avec au moins une balise @author vous identifiant, et de préférence au moins un paragraphe expliquant à quoi sert la classe.
Ajoutez le commentaire d'en-tête de licence ASF à tous les nouveaux fichiers .java (copie à partir des fichiers existants dans le projet)
Ajoutez-vous en tant que @auteur aux fichiers .java que vous modifiez de manière substantielle (plus que des modifications cosmétiques).
Ajoutez des Javadocs et, si vous modifiez l'espace de noms, des éléments de documentation XSD.
Quelques tests unitaires seraient également très utiles —— quelqu'un doit le faire.
Si personne d'autre n'utilise votre branche, veuillez la rebaser par rapport à la version 2023.x actuelle (ou à une autre branche cible du projet principal).
Lorsque vous rédigez un message de validation, veuillez suivre ces conventions. Si vous résolvez un problème existant, veuillez ajouter les correctifs gh-XXXX à la fin du message de validation (où XXXX est le numéro du problème).
Contactez-nous
La liste de diffusion est recommandée pour discuter de presque tout ce qui concerne spring-cloud-alibaba.
[email protected] : vous pouvez poser des questions ici si vous rencontrez un problème lors de l'utilisation ou du développement de spring-cloud-alibaba.