Ich habe Hystrix im vorherigen Artikel Leistungsschaltermuster mit Apache Camel ausprobiert. Hystrix hat ein Dashboard, das den Schaltkreisstatus grafisch anzeigen kann. Dieses Mal werde ich ihn verschieben.
Die Kombination von Apache + Spring Boot scheint in der Lage zu sein, das Hystrix Dashboard mithilfe der Spring Cloud Netflix-Komponente auszuführen. Diesmal werde ich Spring Boot jedoch nicht verwenden. Lassen Sie uns daher Hystrix Dashboard in einer eigenständigen Anwendung ausführen.
Verwenden Sie den Hystrix-Metrics-Event-Stream, damit Ihre Anwendung Hyrix-Metriken ausgeben kann.
Fügen Sie zunächst die folgende Bibliothek hinzu (im Fall von Maven).
<dependency>
<groupId>com.netflix.hystrix</groupId>
<artifactId>hystrix-metrics-event-stream</artifactId>
<version>1.5.18</version>
</dependency>
Fügen Sie einen Steg in Ihre Anwendung ein, um den Hystrix-Metrics-Event-Stream verfügbar zu machen. Die URL lautet "http: // localhost: 8090 / hystrix.stream".
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.servlet.ServletHolder;
import com.netflix.hystrix.contrib.metrics.eventstream.HystrixMetricsStreamServlet;
~ Ausgelassen ~
Server server = new Server(8090);
ServletContextHandler servletContext = new ServletContextHandler(ServletContextHandler.NO_SESSIONS);
server.setHandler(servletContext);
final HystrixMetricsStreamServlet servlet = new HystrixMetricsStreamServlet();
final ServletHolder holder = new ServletHolder(servlet);
servletContext.addServlet(holder, "/hystrix.stream");
server.start();
Gehen Sie zunächst zur folgenden Seite und laden Sie die eigenständige Jyst-Datei für das Hystrix Dashboard herunter.
Ab Januar 2019 war 1.5.6 die neueste Version. Die heruntergeladene Datei lautet "Standalone-Hystrix-Dashboard-1.5.6-all.jar".
Führen Sie nach dem Herunterladen den folgenden Befehl aus, um das Hystrix-Dashboard zu starten.
>java -jar standalone-hystrix-dashboard-1.5.6-all.jar
21:13:03.272 [vert.x-eventloop-thread-0] INFO c.g.k.h.c.s.d.HystrixDashboardVerticle - Initializing the HystrixDashboardVerticle instance 1
21:13:03.571 [vert.x-eventloop-thread-0] INFO c.g.k.h.c.s.d.HystrixDashboardVerticle - Compression support enabled: true
21:13:03.901 [vert.x-eventloop-thread-0] INFO c.g.k.h.c.s.d.HystrixDashboardVerticle - Listening on port: 7979
21:13:03.901 [vert.x-eventloop-thread-0] INFO c.g.k.h.c.s.d.HystrixDashboardVerticle - Access the dashboard in your browser: http://localhost:7979/hystrix-dashboard/
21:13:03.902 [vert.x-eventloop-thread-1] INFO i.v.c.i.l.c.VertxIsolatedDeployer - Succeeded in deploying verticle
Die URL für den Zugriff auf das Hystrix-Dashboard lautet wie folgt.
http://localhost:7979/hystrix-dashboard/
Wenn Sie darauf zugreifen, wird der folgende Bildschirm angezeigt.
Nachdem der Bildschirm angezeigt wurde, geben Sie "http: //localhost:8090/hystrix.stream" in das Textfeld unter dem Text "Eureka Application ~" ein und klicken Sie auf die Schaltfläche "Stream hinzufügen". .. Klicken Sie anschließend auf die Schaltfläche "Streams überwachen", um zum folgenden Bildschirm zu gelangen.
Wenn die Fehlerrate 50% überschreitet, wird "Circuit" auf Öffnen eingestellt. Das Lesen der Grafik ist wie folgt.