Technologieaustausch

Spring Cloud Alibaba - Sentinel verteilter Systemverkehrs-Sentinel

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Fügen Sie hier eine Bildbeschreibung ein

Überblick

Da Microservices immer beliebter werden, wird die Stabilität zwischen Diensten und Diensten immer wichtiger. Sentinel ist eine Verkehrsmanagementkomponente für eine verteilte, mehrsprachige heterogene Dienstarchitektur. Sie nutzt hauptsächlich Verkehr als Einstiegspunkt und deckt Verkehrsrouting, Verkehrssteuerung, Verkehrsgestaltung, Leistungsschalterverschlechterung, systemadaptiven Überlastschutz, Hot-Spot-Verkehrsschutz usw. ab .Dimension soll Entwicklern helfen, die Stabilität von Microservices sicherzustellen.

Kurz gesagt ist Sentinel eine Verkehrsmanagementkomponente, die dem Spring Cloud Circurk Breaker entspricht.

Besonderheit

  • Umfangreiche Anwendungsszenarien: Sentinel hat in den letzten 10 Jahren die Kernszenarien der Double Eleven-Verkehrsförderung von Alibaba übernommen, wie z und Valley-Filling sowie Cluster-Verkehrskontrolle, Echtzeit-Zusammenführung nachgelagerter nicht verfügbarer Anwendungen usw.
  • Vollständige Echtzeitüberwachung: Sentinel bietet auch Echtzeitüberwachungsfunktionen. In der Konsole können Sie die Daten der zweiten Ebene einer einzelnen Maschine sehen, die mit der Anwendung verbunden ist, und sogar den zusammenfassenden Betriebsstatus eines Clusters mit weniger als 500 Maschinen.
  • Umfangreiches Open-Source-Ökosystem: Sentinel bietet sofort einsatzbereite Integrationsmodule mit anderen Open-Source-Frameworks/-Bibliotheken, z. B. die Integration mit Spring Cloud, Apache Dubbo, gRPC und Quarkus. Sie müssen lediglich die entsprechenden Abhängigkeiten einführen und eine einfache Konfiguration durchführen, um schnell eine Verbindung zu Sentinel herzustellen. Gleichzeitig bietet Sentinel native Implementierungen in mehreren Sprachen wie Java/Go/C.
  • Vollständiger SPI-Erweiterungsmechanismus: Sentinel bietet eine benutzerfreundliche, vollständige SPI-Erweiterungsschnittstelle. Durch die Implementierung von Erweiterungsschnittstellen können Sie die Logik schnell anpassen. Zum Beispiel individuelles Regelmanagement, Anpassung dynamischer Datenquellen usw.

Die Hauptfunktionen von Sentinel:
Fügen Sie hier eine Bildbeschreibung ein

Basiskonzept

Ressource

Ressourcen sind ein Schlüsselkonzept in Sentinel. Dabei kann es sich um alles innerhalb einer Java-Anwendung handeln, beispielsweise um einen Dienst, der von der Anwendung oder von einer anderen von der Anwendung aufgerufenen Anwendung bereitgestellt wird, oder sogar um einen Codeabschnitt. In der folgenden Dokumentation verwenden wir Ressourcen zur Beschreibung von Codeblöcken.

Solange der über die Sentinel-API definierte Code eine Ressource ist, kann er durch Sentinel geschützt werden. In den meisten Fällen können Sie Methodensignaturen, URLs oder sogar Dienstnamen als Ressourcennamen verwenden, um Ressourcen zu identifizieren.

Regel
Regeln, die rund um den Echtzeitstatus von Ressourcen festgelegt werden, können Flusskontrollregeln, Regeln zur Leistungsschalterverschlechterung und Systemschutzregeln umfassen. Alle Regeln können dynamisch in Echtzeit angepasst werden. (Regeln können in der Sentinel-Konsole, in der YML-Konfiguration und im Java-Code festgelegt werden.)

Installieren Sie Sentinel

Die Verwendung von Sentinel kann in zwei Teile unterteilt werden:

  • Kernbibliothek (Java-Client): ist von keinem Framework/einer Bibliothek abhängig und kann darauf ausgeführt werden Java 8 und höherVersion der Laufzeitumgebung und bietet auch gute Unterstützung für Frameworks wie Dubbo/Spring Cloud.
  • Dashboard: Das Dashboard ist hauptsächlich für die Verwaltung von Push-Regeln, die Überwachung und die Verwaltung von Maschineninformationen verantwortlich.

Downloadpfad:https://github.com/alibaba/Sentinel/releases

Suchen Sie nach dem Herunterladen das JAR-Paket und führen Sie den Befehl aus, um die Sentinel-Konsole zu starten.

java -jar sentinel-dashboard-xxx.jar

Die lokale Umgebung muss über eine JDK8-Version oder höher verfügen und Port 8080 ist nicht belegt (Sentinel-Konsolenport).
Ab Sentinel 1.6.0 führt die Sentinel-Konsole grundlegende Anmeldefunktionen ein. Der Standardbenutzername und das Passwort lauten beide Sentinel-Zugriffs-URL: http://localhost:8080
Fügen Sie hier eine Bildbeschreibung ein

Der Fall der Einführung von Sentinel in Microservices

Erstellen Sie einen neuen Mikrodienst, führen Sie Nacos und Sentinel ein, registrieren Sie den Dienst bei Nacos und führen Sie eine Verkehrsüberwachung, Leistungsunterbrechung und ein Downgrade des Dienstes durch.

Abhängigkeiten einführen