Heim  >  Artikel  >  Java  >  Anwendung von elastischem Design und Failover in der Spring Cloud-Microservice-Architektur

Anwendung von elastischem Design und Failover in der Spring Cloud-Microservice-Architektur

PHPz
PHPzOriginal
2023-06-22 21:39:521307Durchsuche

Mit der rasanten Entwicklung des Internets und den ständigen Veränderungen der Benutzerbedürfnisse beginnen immer mehr Unternehmen, Microservice-Architekturen anzuwenden, um Systeme zu erstellen, die sich an den Benutzerbedürfnissen orientieren, und Spring Cloud ist ein leichtes und effizientes Microservice-Framework, das weithin begrüßt wird . Beim Erstellen von Microservice-Anwendungen müssen Sie jedoch auch die Ausfallsicherheit und Failover-Mechanismen des Designs berücksichtigen. In diesem Artikel wird die Anwendung von elastischem Design und Failover in der Spring Cloud-Microservice-Architektur erläutert.

1. Elastisches Design

In der Microservice-Architektur sind die Verfügbarkeit und Stabilität des Dienstes entscheidend. Um die Zuverlässigkeit des Dienstes sicherzustellen, müssen wir den Dienst elastisch gestalten. Das elastische Design umfasst hauptsächlich die folgenden Aspekte:

  1. Fehlertolerantes Design von Diensten

In Spring Cloud wird das fehlertolerante Design von Diensten hauptsächlich durch Leistungsschalter erreicht. Der Leistungsschalter überwacht den Status des Dienstes und schaltet automatisch auf den Backup-Dienst um, wenn der Dienst ausfällt oder eine Zeitüberschreitung auftritt. Bei der Verwendung eines Leistungsschalters müssen Sie auf folgende Aspekte achten:

(1) Legen Sie die Zeitüberschreitung fest: Wenn Sie den Dienst anrufen, müssen Sie eine angemessene Zeitüberschreitung festlegen. Wenn der Dienst innerhalb der angegebenen Zeit keine Ergebnisse zurückgeben kann, wird der Leistungsschalter ausgelöst und automatisch auf den Backup-Dienst umgeschaltet.

(2) Wiederholungsparameter festlegen: Wenn der Dienstaufruf fehlschlägt, können Sie den Dienst mehrmals erneut versuchen lassen, indem Sie die Parameter für die Anzahl der Wiederholungen und die Wiederholungszeit festlegen.

(3) Sicherungsparameter festlegen: Wenn die Ausfallrate des Dienstes einen bestimmten Schwellenwert überschreitet, aktiviert der Leistungsschalter die Sicherung und ruft den Dienst nicht mehr an, bis sich der Dienst verbessert oder eine bestimmte Zeitspanne überschritten wird, bevor er erneut versucht, anzurufen.

  1. Design zur Strombegrenzung des Dienstes

In Microservices können einige sehr gleichzeitige Anforderungen zum Absturz des Dienstes führen. Um diese Situation zu vermeiden, muss eine Strategie zur Strombegrenzung für den Dienst entwickelt werden. In Spring Cloud können wir den Datenverkehr durch den Token-Bucket-Algorithmus oder Funnel-Bucket-Algorithmus begrenzen.

  1. Service-Downgrade-Design

In Situationen mit hoher Parallelität können Sie Dienste herabstufen, um die Verfügbarkeit von Kerndiensten sicherzustellen, um den normalen Betrieb des Systems sicherzustellen. Gleichzeitig müssen Sie während des Service-Downgrade-Prozesses auf die folgenden Aspekte achten:

(1) Behalten Sie die erforderlichen Funktionen so weit wie möglich bei, um zu verhindern, dass der Dienst nicht ordnungsgemäß funktioniert.

(2) Richten Sie eine Downgrade-Seite ein, damit Benutzer rechtzeitig wissen, dass der Dienst herabgestuft wird, um unnötige Panik und Missverständnisse zu vermeiden.

2. Failover

Neben dem elastischen Design ist Failover auch ein unverzichtbarer Bestandteil beim Aufbau von Microservice-Anwendungen. In Spring Cloud können wir Failover auf zwei Arten implementieren:

  1. Ribbon

Ribbon ist eine Load-Balancer-Komponente in Spring Cloud, die die Verfügbarkeit von Diensten erkennen und Anforderungen nach bestimmten Regeln an verschiedene Dienstknoten verteilen kann. Bei der Verwendung von Ribbon müssen Sie auf die folgenden Aspekte achten:

(1) Legen Sie das Anforderungszeitlimit fest. Wenn die Anforderung abläuft, leitet Ribbon die Anforderung automatisch an andere verfügbare Dienste weiter.

(2) Stellen Sie die Gesundheitsprüfung des Dienstes ein. Ribbon erkennt automatisch die Verfügbarkeit des Dienstes und leitet die Anfrage an den verfügbaren Dienst weiter.

  1. Hystrix

Hystrix ist eine Leistungsschalterkomponente in Spring Cloud. Sie kann alle darüber aufgerufenen Dienste automatisch überwachen und automatisch auf den Sicherungsdienst umschalten, wenn der Dienst ausfällt. Bei der Verwendung von Hystrix müssen Sie auf folgende Aspekte achten:

(1) Stellen Sie den Schwellenwert des Leistungsschalters ein. Wenn die Ausfallrate einen bestimmten Schwellenwert überschreitet, schaltet der Leistungsschalter automatisch auf den Backup-Dienst um.

(2) Legen Sie den Timeout des Dienstes fest. Wenn der Dienst innerhalb der angegebenen Zeit keine Ergebnisse zurückgeben kann, schaltet der Leistungsschalter automatisch auf den Backup-Dienst um.

Fazit

Elastisches Design und Failover sind ebenfalls ein wesentlicher Bestandteil beim Erstellen von Microservice-Anwendungen. Sie können die Verfügbarkeit und Stabilität von Microservices sicherstellen und so den Benutzern ein besseres Serviceerlebnis bieten. In Spring Cloud können wir Komponenten wie Leistungsschalter, Strombegrenzung, Degradation, Ribbon und Hystrix verwenden, um ein elastisches Design und Failover zu erreichen. Gleichzeitig müssen Sie bei der Verwendung dieser Komponenten auf die Einstellungen einiger wichtiger Parameter achten, um sicherzustellen, dass der Dienst ordnungsgemäß funktionieren kann.

Das obige ist der detaillierte Inhalt vonAnwendung von elastischem Design und Failover in der Spring Cloud-Microservice-Architektur. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn