Absicherung gegenüber externen Diensten mit Hystrix

Seite 3: Fazit

Inhaltsverzeichnis

Bei einer Anwendung ohne Überwachung der Schnittstellen zu den externen Diensten ist es unmöglich zu sagen, warum die Anwendung für den Anwender mal langsam und mal schnell erscheint. Bleiben Antworten vom externen Dienst aus, wird schnell die eigene Anwendung unbenutzbar, weil Nutzeranfragen nicht mehr beantwortet werden und sich stauen.

Mit Hystrix lassen sich diese Schnittstellen überwachen und in bestehende Überwachungen einbinden. Ihren Status kann man über das mitgelieferte Dashboard in Echtzeit für den IT-Betrieb darstellen. Für den Fall, dass ein Dienst nicht mehr angemessen schnell antwortet, können Sollbruchstellen und Backup-Strategien implementiert werden. Die von Hystrix bereitgestellten Patterns erlauben eine einheitliche Umsetzung unabhängig von der eingesetzten Schnittstellentechnik. Eine Konfiguration zur Laufzeit ist möglich.

Der Aufwand für den IT-Betrieb ist gering, da sich Hystrix in bestehende Überwachungen integrieren lässt. Das Dashboard läuft in einem einfachen Servlet-Container wie Tomcat. In der Entwicklung kann die Umsetzung Schnittstelle für Schnittstelle erfolgen. Eventuell geschieht die Umsetzung in zwei Schritten, wenn zunächst Performance-Basisdaten zu sammeln sind.

Für das oben gewählte Beispiel der Validierung von Bankverbindungen ist die Entkopplung nun umgesetzt: Egal, wie langsam der Dienst antwortet, der Nutzer bekommt nach dem in Hystrix konfigurierten Timeout spätestens seine Antwort dank eingebautem Fallback. Der IT-Betrieb überwacht die Antwortzeiten und ob das Fallback aktiviert wird. IT und Fachseite können nun ruhiger schlafen, weil die Anwendung gegenüber ihrem externen Dienst abgesichert wurde.

Alexander Schwartz
ist Principal IT Consultant bei der msg systems ag in Frankfurt. Im Laufe der Zeit arbeitete er mit verschiedensten Webtechniken. Er schätzt agile Projekte und automatisierte Tests.
(ane)