La turbina es una herramienta para agregar servidores para enviar datos de transmisión de eventos. En el monitoreo de Hystrix, solo se puede monitorear un solo nodo, y en la producción real, son grupos. Por lo tanto, la turbina se puede utilizar para monitorear las métricas de Hystrix en el clúster, y los servicios de Hystrix se pueden descubrir a través de Eureka.
Crear un nuevo proyecto de turbina
TurbineApplication.java
paquete turbina; import org.springframework.boot.springapplication; import org.springframework.boot.autoconfigure.springbootapplication; import og.springframework.cloud.netflix.hystrix.enablehystrix; import org.springframework.cloud.netflix.hystrix.dashboard.enablehystrixdashboard; import org.springframework.cloud.netflix.turbine.enableturbine;/*** creado por sai.luo en 2017/4/26. */@Springbootapplication@enableTurbine@enablehystrix@enablehystrixDashBoLBoLpublic Class turbineApplication {public static void main (string [] args) {springapplication.run (turbineApplication.class, args); }}pom.xml
<? xml versión = "1.0" encoding = "utf-8"?> <Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschemainstance" xsi: schemalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modylodversion> 4.0.0 </modelversion> <AtifactID> turbine </artactid> <procesies> <Project.Build.SourceEncoding> UTF-8 </project.build.sourceEncoding> <java.version> 1.8 </java.version> </propiedad> <parent> <proupId> org.springframework.boot </groupid> <artifactid> thero-boot-starter-parent </artifactid> <Versión> 1.5.2.Release </Version> <RelativePath/> <!-Buscar Parent desde repositorio-> </parent> <pendencies> <!-Hystrix Dependencies-> <Spendency> <MoupRupid> org.springframework.cloud </groupid> <artifactid> spring-cloud-starter-hyrtrix </artifactid> <//dependency> <pendency> <MoupRid> org.springframework.cloud </groupid> <artifactid> spring-ncloud-starter-hystrix-dashboard </arfactid> </pendency> <!-Turnbine Dependencies-> <Spendency> <ProupId> Org.springRing.Cloud </GroupId> <Atifactid> Spring-Cloud-Turbine </Artifactid </ArtifactId </ArtifactId </Artactid> </Artactid> </Artactid> </Artactid> </Artactid> </Artactid> </Artactid> </Artactid> </Artactid> </Artifactid> </dependency> </dependency> <dependencyManagement> <dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Camden.SR5</version> <type>pom</type> <scope>import</scope> </dependency> </dependency> </dependency> </dependency> </dependencymanagement> <struple> <glugins> <glugin> <grupoD> org.springframework.boot </groupid> <artifactid> spring-boot-maven-plugin </artifactid> </glugin> </glugins> </build> </jection>
Application.yml
Spring: Aplicación: Nombre: Turbinesserver: Port: 8000Turbine: App-Config: Hello, Helloclient ## Nombre del servicio que debe ser monitoreado Aggregador: ClusterConfig: Main ## Servicio Nombre del clúster que debe monitorear ClusternameExPression: Metadata ['Cluster'] Eureka: Instance: Prefiere: Instituye: True StatusPageurlpath: /Info.htmtment ServiceUrl: Defaultzone: http: // localhost: 8761/eureka/
Iniciar el servicio
HelloServiceeureka Project Application.yml agrega la configuración del clúster
Cambiar
Primavera: Aplicación: Nombre: HelloServer: Puerto: 9001eureka: instancia: arrendamiento-renovación-intervalo-in-segundos: 3 arrendamiento-expiration-duration-in-seconds: 5 metadata-map: clúster: cliente principal: serviceUrl: defaultzone: http: // localhost: 8761/eureka/registher--interval-seconds: 3logging: 3logging: 3logging: nivel: nivel: nivel: nivel: nivel Netflix: Eureka: Off Discovery: Off
Pom.xml agrega el paquete de dependencia de Hystrix
<Spendency> <MoupRupid> org.springframework.cloud </groupid> <artifactID> spring-ncloud-starter-hystrix </artifactid> </dependency>
Del mismo modo, Ribboneureka Project Application.yml agrega la configuración del clúster
Después del cambio, lo siguiente
Primavera: Aplicación: Nombre: Helloclientserver: Port: 20000eureka: instancia: arrendamiento-renovación-intervalo-in-segundos: 3 arrendamiento-expiration-duration-in-seconds: 5 metadata-map: clúster: cliente principal: servicio: defaultzone: http: // localhost: 8761/eureka/registher-seconds: 3logging: 3logging: 3LAl Netflix: Eureka: Off Discovery: Off
Pom.xml agrega el paquete de dependencia de Hystrix
RibboneurekaApplication.java agregar anotación
@Enablehystrix
Comience el proyecto
Visite Localhost: 8000/Hystrixx para ver la página
Nota: La turbina solo puede monitorear el servicio Hystrix, no el servicio Hystrix, y no puede monitorearlo. Por ejemplo, aunque el servicio Hello está configurado con un clúster, no usa Hystrix, por lo que no se monitoreará.
Dirección del proyecto https://github.com/luosai001/spring-cloud-sample/tree/master
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.