La turbine est un outil d'agrégation des serveurs pour envoyer des données de flux d'événements. Dans la surveillance de Hystrix, un seul nœud peut être surveillé, et dans la production réelle, ce sont des grappes. Par conséquent, la turbine peut être utilisée pour surveiller les métriques de Hystrix dans le cluster, et les services Hystrix peuvent être découverts via Eureka.
Créer un nouveau projet de turbine
TurbineApplication.java
package turbine; import org.springframework.boot.springApplication; import org.springframework.boot.autoconfigure.springbootapplication; import org.springframework.cloud.netflix.hystrix.enablehystrix; importation; org.springframework.cloud.netflix.hystrix.dashboard.enablehystrixdashboard; import org.springframework.cloud.netflix.turbine.enablebine; / ** * créé par Sai.luo le 2017/4/26. * / @ Springbootapplication @ perturbine @ activerhystrix @ activerhystrixdashboardpublic class turbineApplication {public static void main (string [] args) {printempApplication.run (turbineApplication.class, args); }}pom.xml
<? xml version = "1.0" Encoding = "utf-8"?> <project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelversion> 4.0.0 </ Modelversion> <Artifactid> turbine </ artifactid> <project.build.sourceencoding> utf-8 </project.build.sourceencoding> <java.version> 1.8 </java.version> </properties> <parent> <proupId> org.springframework.boot </proupId> <Artifactid> printemps-boot-starter-Panent </tifactId> <version> 1.5.2.Release </ Version> <RelativePath /> <! - Recherche Parent de Repository -> </parent> <Detendances> <! - Hystrix Dependance -> <Dendency> <ProupId> org.SpringFramework.Cloud </proupId> <Artifactid> Spring-Cloud-Starter-Hystrix </ArtifActid> </ Dependency> <Dedency> <GroupId> org.springframework.cloud </proupId> <ArtifactId> Spring-Cloud-Starter-Hystrix-Dashboard </Retifactid> </Dependency> <! - Turnbine Dependues -> <Dedency> <proupId> org.springframework.cloud </proupId> <ArtifActid> Spring-Cloud-starter-turbine </proufact> </Dependency> </Dependency> <DependencyManagement> <Dedency> <Dedency> <ProupId> org.springFramework.cloud </proncId> <ArtifActid> Spring-Cloud-Dependcesntency </letefactive> <Dersion> CAMDEN.SR5 </ Version> <type> Pom </pote> </cope> Import </cope> </dependency> </dependence> </scope> </cope> </stependency>> </ dépend> </DependencyManagement> <Cuild> <Glugins> <Glugin> <ProupId> org.springFramework.boot </prôdId> <ArtefactId> Spring-Boot-Maven-Plugin </ Artifactid> </ Plugin> </Glugins> </ Build> </ Project>
application.yml
Spring: Application: Nom: Turbinesserver: Port: 8000Turbine: App-Config: Bonjour, Helloclient ## Nom du service qui doit être surveillé dans l'agrégateur: ClusterConfig: Main ## Nom du cluster de service] Eureka: Client de ClusterName: véritable statutpageUrlpath: /Info. serviceUrl: defaultZone: http: // localhost: 8761 / eureka /
Démarrer le service
Le projet HelloserviceEureka Application.yml ajoute une configuration de cluster
Passer à
spring: application: name: helloserver: port: 9001eureka: instance: lease-renewal-interval-in-seconds: 3 lease-expiration-duration-in-seconds: 5 metadata-map: cluster: main client: serviceUrl: defaultZone: http://localhost:8761/eureka/ registry-fetch-interval-seconds: 3logging: level: com: Netflix: Eureka: Off Discovery: Off
pom.xml ajoute le package de dépendance Hystrix
<dependency> <proupId> org.springframework.cloud </proupId> <ArtefactId> Spring-Cloud-Starter-Hystrix </retifactid> </Dependency>
De même, Ribboneureka Project Application.yml ajoute une configuration de cluster
Après le changement, ce qui suit
spring: application: name: helloClientserver: port: 20000eureka: instance: lease-renewal-interval-in-seconds: 3 lease-expiration-duration-in-seconds: 5 metadata-map: cluster: main client: serviceUrl: defaultZone: http://localhost:8761/eureka/ registry-fetch-interval-seconds: 3logging: level: com: Netflix: Eureka: Off Discovery: Off
pom.xml ajoute le package de dépendance Hystrix
Rubboneurekaapplication.java ajouter une annotation
@Enablehystrix
Démarrer le projet
Visitez LocalHost: 8000 / Hystrixx pour voir la page
Remarque: la turbine ne peut surveiller que le service Hystrix, pas le service Hystrix, et ne peut pas le surveiller. Par exemple, bien que le service Hello soit configuré avec un cluster, il n'utilise pas Hystrix, il ne sera donc pas surveillé.
Adresse du projet https://github.com/luosai001/spring-cloud-sample/tree/master
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.