A turbina é uma ferramenta para agregar servidores para enviar dados de fluxo de eventos. No monitoramento da Hystrix, apenas um único nó pode ser monitorado e, na produção real, eles são clusters. Portanto, a turbina pode ser usada para monitorar as métricas de Hystrix no cluster, e os serviços Hystrix podem ser descobertos através da Eureka.
Crie um novo projeto de turbina
TurbineApplication.java
pacote turbina; importar org.springframework.boot.springApplication; importar org.springframework.boot.autoconfigure.springbootApplication; importar org.springframework.cloud.netflix.hystrix.enablehystrix; importar; org.springframework.cloud.netflix.hystrix.dashboard.enablehystrixDashboard; importar org.springframework.cloud.netflix.turbine.enableturbine;/*** Criado por sai.luo em 2017/26. */@SpringBootApplication@Enableturbine@EnableHyStrix@EnableHyStrixDashboardPublic Classe turbineApplication {public static void main (string [] args) {springapplication.run (turbineApplication.class, args); }}pom.xml
<? xml versão = "1.0" coding = "utf-8"?> <Projeto xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.ww3.org/2001/xmlschaMance 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> <properties> <Project.build.sourceEncoding> utf-8 </project.build.sourceEncoding> <nava.version> 1.8 </java.version> </sperties> <DaReRif> Spring-spring-sterter.springframework.Boot </Groupid> <TristifactId> spring-BoTer> <Versão> 1.5.2.release </sipers> <relativePath/> <!-Lookup Parent from Repository-> </parent> <pendences> <!-Hystrix dependências-> <pendency> <puperid> org.springframework.cloud </frugid> <stifactId> Spring-cloud-hystrix </artef </groupId> org.springframework.cloud </frupiD> <TRAFACTID> Spring-Cloud-Starter-hystrix-Dashboard </stutifactId> </dependency> <!-Turnbine Dependências-> <DepenceM> <voundid> org.springframework.clour </Groupid> <strofactrid> Springd> Spring> Spring> Spring> Spring> </dependency> </dependency> <pendencyManagement> <pendency> <pendency> <puperiD> org.springframework.cloud </groupiD> <TRARFACTID> Spring-cloud-dependências </stifactId> </sipers> Camden.sr5 </versão <tipo> </type> </scope> </scope> </dependencyManagement> <brupt> <flugins> <lugin> <puperid> org.springframework.boot </frugiD> <stifactId> primavera-boot-maven-plugin </artifactId> </plugin> </plugins> </build> </project>
Application.yml
spring: application: name: turbinesserver: port: 8000turbine: app-config: hello,helloClient ##Service name that needs to be monitored aggregator: clusterConfig: main ##Service cluster name that needs to be monitored clusterNameExpression: metadata['cluster']eureka: instance: preferIpAddress: true statusPageUrlPath: /info.html client: serviceUrl: DefaultZone: http: // localhost: 8761/eureka/
Inicie o serviço
helloserviceeureka Project Application.yml Adiciona configuração de cluster
Mudar para
Spring: Aplicação: Nome: Helloserver: Porta: 9001eureka: Instância: Lease-renowal-intervalo em segundos: 3 LASE-EXPIRAÇÃO DURAÇÃO EM SEGUNDOS: 5 METADATA-MAP: Cluster: Principal Cliente: ServiceUrl: DeFaultZone: Http: // LocalHost: 8761/Eurek Netflix: Eureka: Off Discovery: Off
pom.xml adiciona pacote de dependência Hystrix
<Depencency> <PuerpId> org.springframework.cloud </frugiD> <TRATIFACTID> Spring-cloud-starter-hystrix </artifactId> </dependency>
Da mesma forma, o Ribboneureka Project Application.yml adiciona configuração de cluster
Após a mudança, o seguinte
Spring: Aplicação: Nome: HelloclientServer: Porta: 20000Eureka: Instância: Lease-renowal-intervalo em segundos: 3 Lease-expiração-duração em segundos: 5 Metadados-Map: 4-REGRUTURS: MAIN CLIETRY: SERVIÇO: SFORTERZONE: HTTP: // LocalHost: 876/eure Netflix: Eureka: Off Discovery: Off
pom.xml adiciona pacote de dependência Hystrix
Fita ribapplication.java Adicionar anotação
@Enablehystrix
Inicie o projeto
Visite localhost: 8000/hystrixx para ver a página
NOTA: A turbina pode monitorar apenas o serviço Hystrix, não o serviço Hystrix e não pode monitorá -lo. Por exemplo, embora o serviço Hello esteja configurado com um cluster, ele não usa o Hystrix, para que não seja monitorado.
Endereço do projeto https://github.com/luosai001/spring-cloud-sample/tree/master
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.