Selbstschutzhintergrund
Zunächst müssen wir das Eureka -Registrierungszentrum verstehen, dass alle Knoten in Eureka gleich sind und es in ZK kein Konzept der Rollen gibt. Auch wenn N-1-Knoten verloren gehen, wirkt sich dies nicht auf den normalen Betrieb anderer Knoten aus.
Wenn der Eureka -Server standardmäßig keinen Herzschlag von einer MicroService -Instanz innerhalb einer bestimmten Zeit (Standard 90 Sekunden) erhält, wird Eureka Server die Instanz entfernen. Wenn jedoch ein Netzwerkpartitionsfehler auftritt, kann der Microservice nicht normal mit Eureka -Server kommunizieren, und der Microservice selbst wird normal ausgeführt. Dieser Mikroservice sollte zu diesem Zeitpunkt nicht entfernt werden, sodass ein Selbstschutzmechanismus eingeführt wird.
Selbstschutzmechanismus
Offizielle Definition des Selbstschutzmechanismus: https://github.com/netflix/eureka/wiki/undstanding-eureka-peer-t-peer-communication
Der Selbstschutzmodus ist eine Sicherheitsschutzmaßnahme für abnormale Netzwerkschwankungen. Durch die Verwendung des Selbstschutzmodus kann der Eureka-Cluster robuster und stabiler laufen.
Der Arbeitsmechanismus des Selbstschutzmechanismus ist, dass Eureka der Ansicht ist, dass der Client und das Registrierungszentrum einen Netzwerkfehler haben und der Eureka-Server automatisch in den Selbstschutzmechanismus eingeht, wenn mehr als 85% der Clientknoten keinen normalen Herzschlag haben. Zu diesem Zeitpunkt treten die folgenden Situationen auf:
1. Eureka Server entfernt keine Dienste mehr, die ausfallen sollten, da er lange Zeit keinen Herzschlag erhalten hat. /
2. Eureka Server kann weiterhin Registrierungs- und Abfrageanfragen für neue Dienste akzeptieren, wird jedoch nicht mit anderen Knoten synchronisiert, um sicherzustellen, dass der aktuelle Knoten noch verfügbar ist. /
3. Wenn das Netzwerk stabil ist, werden die neuen Registrierungsinformationen des Eureka -Servers mit anderen Knoten synchronisiert.
Daher kann Eureka Server mit der Situation umgehen, in der einige Knoten aufgrund eines Netzwerkausfalls verloren gehen, und wird nicht dazu führen, dass die Hälfte von ihnen wie ZK gelähmt wird.
Selbstschutzschalter
Eureka-Selbstschutzmechanismus, treu, um Eureka.server.Enable-Self-Preservation zu konfigurieren, um den Selbstschutzmechanismus zu deaktivieren. Der Standard wird eingeschaltet. Es wird empfohlen, diese Konfiguration in der Produktionsumgebung zu öffnen.
Konfiguration der Entwicklungsumgebung
Wenn Sie automatisch den Servicefehler in der Entwicklungsumgebung entfernen möchten, müssen Sie die folgende Konfiguration nur ändern.
1. Das Registrierungszentrum schließt den Selbstschutzmechanismus und modifiziert die Zeit für die Überprüfung des ungültigen Dienstes.
Eureka: Server: Enable-Self-Vorversorgung: Falsch Räumungsinterval-Timer-in-MS: 3000
2. Microservice -Modifikationen verkürzen den Herzschlag für den Service.
# Standard 90 Sekunden Leasing-Expirations-Dauer in Sekunden
Die obige Konfiguration wird empfohlen, um die Standardzeitkonfiguration in der Produktionsumgebung zu verwenden. Ich hoffe, es wird für das Lernen aller hilfreich sein, und ich hoffe, jeder wird Wulin.com mehr unterstützen.