J'ai essayé Hystrix dans l'article précédent Modèle de disjoncteur avec Apache Camel. Hystrix a un tableau de bord qui peut afficher graphiquement l'état du circuit, donc cette fois je vais le déplacer.
La combinaison Apache + Spring Boot semble pouvoir exécuter le tableau de bord Hystrix à l'aide du composant Spring Cloud Netflix. Cependant, je n'utiliserai pas Spring Boot cette fois, alors exécutons Hystrix Dashboard dans une application autonome.
Utilisez hystrix-metrics-event-stream pour permettre à votre application de générer des métriques Hyrix.
Tout d'abord, ajoutez la bibliothèque suivante (dans le cas de Maven).
<dependency>
<groupId>com.netflix.hystrix</groupId>
<artifactId>hystrix-metrics-event-stream</artifactId>
<version>1.5.18</version>
</dependency>
Incluez jetty dans votre application pour rendre hystrix-metrics-event-stream disponible. L'URL est "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;
~ Omis ~
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();
Tout d'abord, accédez à la page suivante et téléchargez le fichier jar de la version autonome de Hystrix Dashboard.
En janvier 2019, la 1.5.6 était la dernière version. Le fichier téléchargé sera "standalone-hystrix-dashboard-1.5.6-all.jar".
Après le téléchargement, exécutez la commande suivante pour démarrer le tableau de bord Hystrix.
>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
L'URL pour accéder au tableau de bord Hystrix est la suivante.
http://localhost:7979/hystrix-dashboard/
Lorsque vous y accédez, l'écran suivant s'affiche.
Une fois l'écran affiché, saisissez «http: //localhost:8090/hystrix.stream» dans la zone de texte sous le texte «Eureka Application ~» et cliquez sur le bouton «Ajouter un flux». .. Ensuite, cliquez sur le bouton «Monitor Streams» pour passer à l'écran ci-dessous.
Lorsque le taux d'erreur dépasse 50%, "Circuit" est réglé pour s'ouvrir. Voici comment lire le graphique.