Die fünf Kernkomponenten von Springcloud sind: 1. Eureka, das Service-Governance implementiert; 2. Ribbon, das clientseitige Software-Lastausgleichsalgorithmen bereitstellt; 3. Hystrix-Leistungsschalter, der verhindert, dass eine Anwendung versucht, eine Operation mehrfach auszuführen; mal; 4. Zuul, Es verfügt über mehrere Funktionen wie API-Gateway, Routing, Lastausgleich usw.; 5. Config, für die Konfigurationsverwaltung.
Das Betriebssystem dieses Tutorials: Windows 10-System, Dell G3-Computer.
Die fünf Kernkomponenten von Springcloud sind:
1. Eureka
Funktion: Service-Governance realisieren (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 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 mehrmals versucht, einen Vorgang auszuführen, der wahrscheinlich fehlschlägt, und ermöglicht so die Fortsetzung, ohne auf die Wiederherstellung nach einem Fehler zu warten oder CPU-Zyklen zu verschwenden, während der Fehler festgestellt wird ist hartnäckig. 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 Drittanbieter-Aufrufer 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 zur Inhaltsverwaltung bietet. Dies ist immer noch statisch und muss mit Spring Cloud Bus koordiniert werden, um dynamische Konfigurationsaktualisierungen zu erreichen.
Das obige ist der detaillierte Inhalt vonWas sind die fünf Kernkomponenten von Springcloud?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
if($res){
return json_encode(array('code'=>1,'msg'=>'成功'));
}else{
return json_encode(array('code'=>0,'msg'=>'失败'));
}
}
public function
}
if($res){
return json_encode(array('code'=>1,'msg'=>'成功'));
}else{
return json_encode(array('code'=>0,'msg'=>'失败'));
}
}
public function
}
if($res){
return json_encode(array('code'=>1,'msg'=>'成功'));
}else{
return json_encode(array('code'=>0,'msg'=>'失败'));
}
}
public function
}
if($res){
return json_encode(array('code'=>1,'msg'=>'成功'));
}else{
return json_encode(array('code'=>0,'msg'=>'失败'));
}
}
public function
}