使用Hystrix实现微服务的容错处理(二)

使用Hystrix实现微服务的容错处理(二)

使用Turbine聚合监控数据

Turbine简介

turbine是一个聚合Hystrix监控数据的工具,他可将所有相关的/hystrix.stream端点的数据聚合到一个组合的/turbine.stream。从而让集群的监控更加方便
,引入Turbine后,架构如下
使用Hystrix实现微服务的容错处理(二)_第1张图片

使用Turbine监控多个微服务

  • 将之前的电影微服务复制一份,改名为micro-movie-service2
  • 复制一个项目改造成turbine项目,添加依赖
 compile group: 'org.springframework.cloud', name: 'spring-cloud-netflix-turbine', version: '2.1.2.RELEASE'
  • 给Turbine主类添加@EnableTurbine注解
@SpringBootApplication
@EnableTurbine
public class HystrixTurbineServicedApplication {

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

}
  • 编写配置文件
server:
  port: 8860
spring:
  application:
    name: micro-hystrix-turbine-service
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    url: jdbc:mysql://127.0.0.1:3306/micro_user?useUnicode=true&characterEncoding=utf-8&useSSL=true
    username : root
    password : xda265856
    driverClassName : com.mysql.jdbc.Driver
  jpa:
    hibernate:
      naming:
        physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
      ddl-auto: update
    show-sql: true
eureka:
  client:
    healthcheck:
      enabled: true
    serviceUrl:
      defaultZone: http://root:root123@localhost:8761/eureka/,http://root:root123@localhost:8762/eureka/
  instance:
    prefer-ip-address: true

turbine:
  app-config: micro-movie-service2,micro-movie-service
  cluster-name-expression: "'default'"
  • 按照以下顺序启动各个服务
    • Eureka Server集群
    • 启动用户微服务集群
    • 启动两个电影微服务
    • 启动turbine
    • 启动dashboard
  • 访问:http://127.0.0.1:8870/movie/1,让micro-movie-service1产生监控数据
  • 访问: http://127.0.0.1:8871/movie/1,让micro-movie-service2产生监控数据
  • 打开Hystrix Dashboard首页:http://127.0.0.1:8000/hystrix。在URL一栏中输入:http://localhost:8860/turbine.stream,即可查看到监控页面

你可能感兴趣的:(学习日记,微服务,Spring,Cloud)