Spring Cloud Alibaba ist eine umfassende Lösung zum Erstellen verteilter Anwendungen, die sich nahtlos in die Middleware von Alibaba integrieren lässt. Es vereinfacht die Entwicklung, indem es einen One-Stop-Shop für wesentliche Komponenten bietet und nur minimale Konfiguration erfordert. In diesem Dokument werden die Funktionen, Komponenten, Verwendungs- und Beitragsrichtlinien detailliert beschrieben.
Spring Cloud Alibaba
Ein von Alibaba betreutes Projekt.
Die chinesische Readme-Datei finden Sie im 中文文档.
Spring Cloud Alibaba bietet eine Komplettlösung für die verteilte Anwendungsentwicklung. Es enthält alle Komponenten, die für die Entwicklung verteilter Anwendungen erforderlich sind, sodass Sie Ihre Anwendungen ganz einfach mit Spring Cloud entwickeln können.
Mit Spring Cloud Alibaba müssen Sie nur einige Anmerkungen und eine kleine Menge an Konfigurationen hinzufügen, um Spring Cloud-Anwendungen mit den verteilten Lösungen von Alibaba zu verbinden und ein verteiltes Anwendungssystem mit Alibaba-Middleware aufzubauen.
Merkmale
Weitere Funktionen finden Sie in der Roadmap.
Zusätzlich zu den oben genannten Funktionen bietet die Microservices Engine (MSE) der Spring Cloud Alibaba-Unternehmensversion für die Anforderungen von Unternehmensbenutzerszenarien ein Microservices-Governance-Center auf Unternehmensebene, das leistungsstärkere Governance-Funktionen wie Grayscale Release und Service umfasst Aufwärmen, verlustfreies Online- und Offline-Auswerfen und Auswerfen von Ausreißern. Gleichzeitig bietet es auch eine Vielzahl von Produkten und Lösungen wie Nacos-Registrierungs-/Konfigurationscenter auf Unternehmensebene und Cloud-native Gateways auf Unternehmensebene.
Komponenten
Sentinel: Sentinel nutzt den „Verkehrsfluss“ als Durchbruchspunkt und bietet Lösungen in Bereichen wie Flusskontrolle, Parallelität, Stromkreisunterbrechung und Lastschutz, um die Dienststabilität zu schützen.
Nacos: Eine benutzerfreundliche dynamische Service-Erkennungs-, Konfigurations- und Service-Management-Plattform zum Erstellen cloudnativer Anwendungen.
RocketMQ: Eine verteilte Messaging- und Streaming-Plattform mit geringer Latenz, hoher Leistung und Zuverlässigkeit, Kapazität auf Billionenebene und flexibler Skalierbarkeit.
Seata: Eine verteilte Transaktionslösung mit hoher Leistung und Benutzerfreundlichkeit für die Microservices-Architektur.
Alibaba Cloud OSS: Ein verschlüsselter und sicherer Cloud-Speicherdienst, der riesige Datenmengen von überall auf der Welt speichert, verarbeitet und darauf zugreift.
Alibaba Cloud SMS: Alibaba SMS ist ein weltweiter Messaging-Dienst und bietet praktische, effiziente und intelligente Kommunikationsfunktionen, die Unternehmen dabei helfen, schnell mit ihren Kunden in Kontakt zu treten.
Alibaba Cloud SchedulerX: Präzise, äußerst zuverlässige und hochverfügbare geplante Jobplanungsdienste mit einer Reaktionszeit innerhalb von Sekunden.
Weitere Funktionen finden Sie in der Roadmap.
Wie baut man
Spring Cloud verwendet Maven für die meisten Build-bezogenen Aktivitäten, und Sie sollten in der Lage sein, recht schnell loszulegen, indem Sie das Projekt, an dem Sie interessiert sind, klonen und Folgendes eingeben:
Verwendung
Maven-Abhängigkeit hinzufügen
Diese Artefakte sind über BOM im Maven Central und im Spring Release-Repository verfügbar:
Fügen Sie das Modul in Abhängigkeiten hinzu. Wenn Sie eine ältere Version wählen möchten, können Sie sich die Versionshinweise ansehen.
Beispiele
Damit Sie schnell mit Spring Cloud Alibaba loslegen können, ist in unserem Projekt ein Spring-Cloud-Alibaba-Examples-Modul enthalten. Es enthält ein Beispiel, und Sie können für eine kurze Anleitung auf die Readme-Datei im Beispielprojekt verweisen.
Beispiele:
Sentinel-Beispiel
Nacos-Beispiel
RocketMQ-Beispiel
Alibaba Cloud OSS-Beispiel
Richtlinien zur Versionskontrolle
Die Versionsnummer des Projekts hat die Form xxx, wobei x eine Zahl ist, die bei 0 beginnt und nicht auf den Bereich 0 bis 9 beschränkt ist. Wenn sich das Projekt in der Inkubatorphase befindet, lautet die Versionsnummer 0.xx
Da die Schnittstellen und Anmerkungen von Spring Boot 1 und Spring Boot 2 im Actuator-Modul erheblich geändert wurden und auch spring-cloud-commons von 1.xx auf 2.0.0 stark geändert wurde, verwenden wir dieselbe Versionsregel wie SpringBoot-Versionsnummer.
Verhaltenskodex
Dieses Projekt ist ein Unterprojekt von Spring Cloud und hält sich an den Verhaltenskodex des Contributor Covenant. Durch Ihre Teilnahme wird von Ihnen erwartet, dass Sie diesen Kodex einhalten. Bitte melden Sie inakzeptables Verhalten an [email protected].
Kodexkonventionen und Housekeeping
Nichts davon ist für eine Pull-Anfrage unbedingt erforderlich, aber sie werden alle hilfreich sein. Sie können auch nach der ursprünglichen Pull-Anfrage, aber vor einer Zusammenführung hinzugefügt werden.
Verwenden Sie die Codeformatkonventionen des Spring Framework. Wenn Sie Eclipse verwenden, können Sie Formatierungseinstellungen mithilfe der Datei „eclipse-code-formatter.xml“ aus dem Spring Cloud Build-Projekt importieren. Wenn Sie IntelliJ verwenden, können Sie das Eclipse Code Formatter Plugin verwenden, um dieselbe Datei zu importieren.
Stellen Sie sicher, dass alle neuen .java-Dateien einen einfachen Javadoc-Klassenkommentar mit mindestens einem @author-Tag zur Identifizierung Ihrer Person und vorzugsweise mindestens einem Absatz darüber haben, wofür die Klasse gedacht ist.
Fügen Sie den ASF-Lizenz-Header-Kommentar zu allen neuen .java-Dateien hinzu (kopieren Sie ihn aus vorhandenen Dateien im Projekt).
Fügen Sie sich selbst als @author zu den .java-Dateien hinzu, die Sie erheblich ändern (mehr als nur kosmetische Änderungen).
Fügen Sie einige Javadocs und, wenn Sie den Namespace ändern, einige XSD-Dokumentelemente hinzu.
Ein paar Unit-Tests würden auch sehr helfen – jemand muss es tun.
Wenn niemand sonst Ihren Zweig verwendet, stellen Sie ihn bitte auf die aktuelle Version 2023.x (oder einen anderen Zielzweig im Hauptprojekt) um.
Befolgen Sie beim Schreiben einer Commit-Nachricht bitte diese Konventionen. Wenn Sie ein bestehendes Problem beheben, fügen Sie bitte „Fixes gh-XXXX“ am Ende der Commit-Nachricht hinzu (wobei XXXX die Problemnummer ist).
Kontaktieren Sie uns
Für die Diskussion fast aller Themen im Zusammenhang mit Spring-Cloud-Alibaba wird eine Mailingliste empfohlen.
[email protected]: Sie können hier Fragen stellen, wenn bei der Verwendung oder Entwicklung von spring-cloud-alibaba Probleme auftreten.