2016-12-22 3 views
1

Ich verwende Spring-Cloud-Starter-Hystrix: 1.2.3.RELEASE in einer Spring-Boot-Anwendung. Ich habe 1 HystrixCommand, den ich erfolgreich ausführen kann. Danach rief ichHystrix-Stream antwortet nicht

localhost:8080/hystrix.stream 

jedoch diese Anforderung Lasten für immer und reagiert nicht. Bei Google kann ich dazu nichts finden.

+0

Mögliches Duplikat von [Kann /hysttrix.stream nicht in Spring Cloud] (http://stackoverflow.com/questions/40447916/unable-to-get-hystrix-stream-in-spring-cloud) –

Antwort

2

Dies geschieht, wenn noch kein Befehl ausgeführt wurde und daher keine Metriken im Stream veröffentlicht werden müssen.

Die "Problemumgehung" besteht darin, einen Hystrix-Befehl auszuführen.

Dies geschieht in Hystrix 1.5.8 und früher. Das Verhalten wurde gestern in Hystrix 1.5.9 geändert. Es wird jetzt eine Nachricht ping veröffentlichen, wenn keine Metriken zu veröffentlichen sind.

Diese Änderung wurde vorgenommen, um einen Fehler zu beheben, bei dem der Stream keine geschlossenen Verbindungen erkennen konnte, wenn keine zu veröffentlichenden Metriken vorhanden waren. Weitere Informationen finden Sie unter Hystrix bug 1430.

+0

Das Update funktioniert nicht für mich. Aktualisiert auf 1.5.9, gleiche Ausgabe –

+0

@StefanoL Sind Sie sicher, dass Sie jetzt 1.5.9 verwenden? Die Art, wie Spring-Boot-Abhängigkeiten funktionieren, behebt manchmal eine bestimmte Version. Allerdings hatte ich noch nicht die Zeit, um 1.5.9 auf unsere Anwendung anzuwenden, daher basiert meine Antwort derzeit ausschließlich auf der Theorie des Bugs 1430. Ich werde das morgen wahrscheinlich bestätigen können. –

+0

Ich habe bestimmte Abhängigkeiten wie "hysttrix-metrics-event-stream", "1.5.9" hinzugefügt, die erwarten, Spring Boots 1.5.8 zu überschreiben. Das Debuggen der HystrixSampleSseServlet.java bestätigt mir, dass die neue Abhängigkeit verwendet wird -> Die While-Schleife in 159 wurde ein wenig erweitert. Die Behelfslösung mit dem DummyCommand hilft übrigens auch nicht. –

1

Vergewissern Sie sich, dass die Annotation @EnableHystrixDashboard zur Dashboard-Anwendung hinzugefügt wurde. Dann gehen Sie zu http://{dashboard-application:port}/hystrix.stream. Auf dieser Seite werden Sie aufgefordert, die URL der Hystrix-Anwendung einzugeben, die mit @EnableCircuitBreaker gekennzeichnet ist und von der Sie den Stream überwachen möchten.