Die fünf Hauptkomponenten von Springcloud sind: 1. Eureka, ein RESTful-Dienst, der zum Auffinden von Diensten der mittleren Ebene verwendet wird, die in der AWS-Region ausgeführt werden; 2. Ribbon, ein Client-Lastausgleichstool, das auf HTTP und TCP basiert; verhindert, dass die Anwendung mehrmals versucht, einen Vorgang auszuführen; 4. Zuul, das über mehrere Funktionen wie API-Gateway, Routing, Lastausgleich usw. verfügt; 5. Config, das Server und Client bereitstellt.
Was sind die fünf Hauptkomponenten von Springcloud?
1. Eureka
Rolle: Service-Governance implementieren (Service-Registrierung und -Erkennung).
Ein RESTful-Dienst, der zum Auffinden von Diensten der mittleren Ebene verwendet wird, die in AWS-Regionen ausgeführt werden. Es besteht aus zwei Komponenten: Eureka-Server und Eureka-Client. Der Eureka-Server wird als Dienstregistrierungsserver verwendet. Der Eureka-Client ist ein Java-Client, der die Interaktion mit Servern vereinfacht, als Polling-Load-Balancer fungiert und Failover-Unterstützung für Dienste bereitstellt. Netflix verwendet in seiner Produktionsumgebung einen separaten Client, der einen gewichteten Lastausgleich basierend auf Datenverkehr, Ressourcennutzung und Fehlerstatus bietet.
Wenn die Anwendung gestartet wird, registriert der Eureka-Client seine eigenen Dienstinformationen beim Server und speichert die Dienstinformationen des Servers lokal zwischen. Der Client führt regelmäßig Heartbeat-Interaktionen mit dem Server durch, um Service-Leasings und Service-Informationen zu aktualisieren.
2. Ribbon
Funktion: Bietet hauptsächlich einen clientseitigen Software-Lastausgleichsalgorithmus.
Spring Cloud Ribbon ist ein clientseitiges Lastausgleichstool auf Basis von HTTP und TCP, das auf Basis von Netflix Ribbon implementiert wird. Durch die Kapselung von Spring Cloud können wir serviceorientierte REST-Vorlagenanforderungen problemlos automatisch in clientseitige Serviceaufrufe mit Lastausgleich umwandeln. Die Ribbon-Client-Komponente bietet eine Reihe vollständiger Konfigurationsoptionen, z. B. Verbindungszeitlimit, Wiederholung, Wiederholungsalgorithmus usw. Ribbon verfügt über integrierte steckbare und anpassbare Lastausgleichskomponenten.
3. Hystrix
Ein Schutzschalter verhindert, dass eine Anwendung wiederholt versucht, einen Vorgang auszuführen, der wahrscheinlich fehlschlägt, und ermöglicht so die Fortsetzung, ohne auf einen Wiederherstellungsfehler zu warten oder CPU-Zyklen zu verschwenden, während festgestellt wird, dass der Fehler dauerhaft ist. Im Leistungsschaltermodus können Anwendungen außerdem erkennen, ob der Fehler behoben wurde. Wenn das Problem anscheinend behoben wurde, kann die Anwendung versuchen, den Vorgang aufzurufen.
Um eine hohe Verfügbarkeit zu gewährleisten, werden einzelne Dienste in der Regel in Clustern bereitgestellt. Aus Netzwerkgründen oder aus eigenen Gründen kann der Dienst keine hundertprozentige Verfügbarkeit garantieren. Wenn bei einem einzelnen Dienst ein Problem auftritt, kommt es zu einer Thread-Blockierung Thread-Ressourcen des Servlet-Containers werden verbraucht, was zu einer Dienstlähmung führt. Aufgrund der Abhängigkeiten zwischen Diensten breiten sich Fehler aus und haben katastrophale Folgen für das gesamte Microservice-System. Dies ist der „Lawineneffekt“ von Dienstfehlern.
4. Zuul
Funktion: Es verfügt über mehrere Funktionen wie API-Gateway, Routing, Lastausgleich usw.
Ähnlich wie Nginx, Reverse-Proxy-Funktion, aber Netflix selbst hat einige Funktionen hinzugefügt, um mit anderen Komponenten zusammenzuarbeiten. In der Microservice-Architektur sind Back-End-Dienste häufig nicht direkt für das aufrufende Ende geöffnet, sondern werden basierend auf der angeforderten URL über ein API-Gateway an den entsprechenden Dienst weitergeleitet. Wenn ein API-Gateway hinzugefügt wird, wird eine Mauer zwischen dem Drittaufrufer und dem Dienstanbieter erstellt. Diese Mauer kommuniziert zur Berechtigungskontrolle direkt mit dem Aufrufer und verteilt dann Anfragen auf ausgewogene Weise an den Backend-Server.
5. Config
Funktion: Konfigurationsverwaltung.
SpringCloud Config bietet serverseitige und clientseitige Bereitstellung. Die Standardimplementierung des Serverspeicher-Backends verwendet Git, sodass es problemlos eine getaggte Version der Konfigurationsumgebung unterstützt und Zugriff auf eine Vielzahl von Tools zum Verwalten von Inhalten bietet. Dies ist immer noch statisch und muss mit Spring Cloud Bus koordiniert werden, um dynamische Konfigurationsaktualisierungen zu erreichen.
Was ist Spring Cloud?
Spring Cloud ist eine geordnete Sammlung einer Reihe von Frameworks. Es nutzt den Entwicklungskomfort von Spring Boot, um die Entwicklung verteilter Systeminfrastrukturen wie Service Discovery-Registrierung, Konfigurationscenter, Nachrichtenbus, Lastausgleich, Leistungsschalter, Datenüberwachung usw. geschickt zu vereinfachen Spring Boot-Entwicklungsstil zum Starten und Bereitstellen mit einem Klick. Spring Cloud erfindet das Rad nicht neu, sondern kombiniert lediglich die ausgereifteren und praktischeren Service-Frameworks, die von verschiedenen Unternehmen entwickelt wurden, und kapselt sie im Spring Boot-Stil neu, um die komplexen Konfigurations- und Implementierungsprinzipien abzuschirmen, und stellt Entwicklern schließlich die vom Autor erstellte Lösung zur Verfügung Eine Reihe verteilter Systementwicklungs-Toolkits, die leicht zu verstehen, einfach bereitzustellen und zu warten sind.
Das obige ist der detaillierte Inhalt vonWas sind die fünf Hauptkomponenten von Springcloud?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!