2017-12-05 4 views
15

Ich versuche, eine Feder Cloud Microservice mit Feder MVC und Spring Boot Framework zu entwickeln. Und Eureka Server, Zuul, Ribbon, Hystrix und Turbine für Frühjahrswolke verwenden. Ich habe bereits einen Microservice entwickelt und nur das Hystrix Dashboard implementiert. Ich bin in der Lage, Hystrix-Dashboard zu nehmen. Jetzt implementiere ich mehr Dienste. Also habe ich Turbine für die Aggregation der Überwachung gewählt. Aber es hat das Armaturenbrett nicht bekommen. Ich habe Turbine im getrennten Springbootprojekt implementiert.Turbine Dashboard lädt nicht für Aggregation im Frühjahr Cloud Microservice

Mein pom.xml enthält,

<dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-actuator</artifactId> 
</dependency> 
<dependency> 
    <groupId>org.springframework.cloud</groupId> 
    <artifactId>spring-cloud-starter-hystrix</artifactId> 
</dependency> 
<dependency> 
    <groupId>org.springframework.cloud</groupId> 
    <artifactId>spring-cloud-starter-hystrix-dashboard</artifactId> 
</dependency> 
<dependency> 
    <groupId>org.springframework.cloud</groupId> 
    <artifactId>spring-cloud-starter-turbine</artifactId> 
</dependency> 

Und enthält Meine Hauptklasse,

@SpringBootApplication 
@EnableHystrixDashboard 
@EnableCircuitBreaker 
@EnableTurbine 

public class ZTurbineClientApplication { 

    public static void main(String[] args) { 
    SpringApplication.run(ZTurbineClientApplication.class, args); 
    } 
} 

Und meine Turbine Projekt application.properties Datei enthält,

server.port=8085 
spring.application.name=espace-Turbine 
eureka.client.serviceUrl.defaultZone=http://localhost:8071/eureka/ 
eureka.client.register-with-eureka=true 
eureka.client.fetch-registry=true 
turbine: 
aggregator: 
    clusterConfig: APPCLUSTER 
app-config: espaceService1,espaceService2 
instanceUrlSuffix.APPCLUSTER: /hystrix.stream 

und meine vorherigen first services 'application.properties datei wie

eureka.client.serviceUrl.defaultZone=http://localhost:8071/eureka/ 
eureka.client.register-with-eureka=true 
eureka.client.fetch-registry=true 
spring.application.name=espaceService1 
server.port=8080 
eureka: 
    instance: 
    prefer-ip-address: true 
    leaseRenewalIntervalInSeconds: 3 
    leaseExpirationDurationInSeconds: 3 
    metadata-map: 
     cluster: APPCLUSTER 

Und Auftragungseigenschaft Datei des zweiten Dienst enthält,

eureka.client.serviceUrl.defaultZone=http://localhost:8071/eureka/ 
eureka.client.register-with-eureka=true 
eureka.client.fetch-registry=true 
spring.application.name=espaceService2 
server.port=8081 
eureka: 
    instance: 
    prefer-ip-address: true 
    leaseRenewalIntervalInSeconds: 3 
    leaseExpirationDurationInSeconds: 3 
    metadata-map: 
     cluster: APPCLUSTER 

das sind meine Implementierungsdetails.

Nachdem ich URL "http://localhost:8085/hystrix.dashboard" genommen habe. Und eingefügt "http://localhost:8085/turbine.stream?cluster=APPCLUSTER". Aber Fehler wie "Kann nicht mit Command Metric Stream verbinden" erhalten. Screenshots unten hinzufügen

enter image description here

enter image description here

+0

Sie Sind Turbine auf einen hystrix.stream zeigen? Wurde der Code-Pfad, der einen Schutzschalter hat, ausgeübt? – spencergibb

+0

Ich habe bereits meinen Service mit hystrix.After, dass ich versuche, die Überwachung mit turbine.so in Hystrix-Dashboard-Seite Ich versuche, turbine.stream zu bekommen .. Service und Turbine Projekt sind getrennt. Und im Dienst implementierte ich den Schutzschalter – Jacob

Antwort

0

Sie brauchen Raum zu entfernen Komma Dienstnamen getrennt

turbine.aggregator.cluster-config=espace-Second_Microservice,espaceFirst_Microservice 

Sie können keine Aggregatströme aus verschiedenen Clusternamen, verwenden Sie entweder einen Cluster-Namen in beiden espace-Second_Microservice und espace-First_Microservice oder verwenden Sie überhaupt keinen Cluster.

To define one cluster name use below config 

    eureka: 
     instance: 
     prefer-ip-address: true 
     leaseRenewalIntervalInSeconds: 3 
     leaseExpirationDurationInSeconds: 3 
     metadata-map: 
      cluster: APPCLUSTER 

Verwenden erwähnt unter Config für Turbinen

turbine: 
    aggregator: 
    clusterConfig: APPCLUSTER 
    app-config: espace-Second_Microservice,espace-First_Microservice 
    instanceUrlSuffix.APPCLUSTER: /hystrix.stream 

Verwendung http: // {Turbine host}: {Turbinenhafen} /turbine.stream?cluster=APPCLUSTER in Hystrix Armaturenbrett

+0

Yes.I wie oben geändert. Aber immer noch Fehler im Bildschirm, dass "keine Verbindung zu Command Metric Stream". Und auch Entschuldigung für die späte Antwort. Ich bin Code ändern. Können Sie bitte auf – Jacob

+0

schauen Sie mischen Konfiguration für Yaml-Datei und Eigenschaften-Datei. Sie müssen die Konfiguration im Eigenschaftendateiformat definieren, wenn Sie die Datei .properties verwenden –

+0

eureka.instance.preferIpAddress = true eureka.instance.leaseRenewalIntervalInSeconds = 3 eureka.instance. –

Verwandte Themen