重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1、概念
成都创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于成都网站建设、网站制作、乌兰网络推广、微信小程序、乌兰网络营销、乌兰企业策划、乌兰品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联公司为所有大学生创业者提供乌兰建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com
Turbine 是聚合服务器发送事件流数据的一个工具,用来监控集群下 hystrix 的 metrics 情况。
2、引入依赖
3、创建应用
TurbineApplication
@SpringBootApplication
@EnableTurbine
public class TurbineApplication {
public static void main(String[] args) {
new SpringApplicationBuilder(TurbineApplication.class).web(true).run(args);
}
}
4、对应配置信息
server.port=8031
spring.application.name=turbine
turbine.appConfig=app01,app02
turbine.aggregator.clusterConfig= app
turbine.clusterNameExpression= metadata['cluster']
turbine.appConfig 配置需要聚合的应用
turbine.aggregator.clusterConfig turbine需要聚合的集群名称 通过 http://localhost:8031/turbine.stream?cluster=app 访问
turbine.clusterNameExpression 获取集群名表达式,这里表示获取元数据中的cluster数据,在app01、app02为配置对应信息
5、创建EurekaServer服务
6、创建应用app01
@Configuration
@EnableAutoConfiguration
@EnableDiscoveryClient
@EnableCircuitBreaker
@RestController
public class App01 {
public static void main(String[] args) {
SpringApplication.run(App01.class, args);
}
@Autowired
private HelloService service;
@RequestMapping("/")
public String hello() {
return this.service.hello();
}
@Component
public static class HelloService {
@HystrixCommand(fallbackMethod = "fallback")
public String hello() {
return "Hello World";
}
public String fallback() {
return "Fallback";
}
}
}
对应配置:
server.port= 8091
spring.application.name=app01
eureka.instance.hostname=localhost
eureka.instance.metadata-map.cluster=app
7、创建应用app02
对应配置:
server.port= 8092
spring.application.name=app02
eureka.instance.hostname=localhost
eureka.instance.metadata-map.cluster=app
8、三个应用同时注册到EurekaServer,然后启动大盘服务,在大盘服务里面输入http://localhost:9031/turbine.stream?cluster=app得到监控界面;
9、监控界面的各个指标的含义
圆形颜色和大小:代表健康情况和流量
折线:2分钟内的吞吐率变化情况
hosts:集群中节点个数
median: 每个请求时间的中位数
mean: 平均每个请求消耗的时间
subscriberGetAccount:
绿200545:代表成功请求数量
蓝0:代表断路数量
黄19:代表表超时的线程数量
紫94:代表线程池拒绝次数,即线程不够用
红0: 失败或异常数量
灰0%: 最后10秒错误率
host: 各节点每秒的平均请求吞吐量
cluster: 集群每秒的请求吞吐量
circuit:代表断路器状态即:是否打开断路器 90th,99th,99.5th:
最后1分钟各种延迟的百分比。如图:90%的请求小于10ms;而99%的请求小于44ms,99.5%的请求在61ms完成。
10、总结
通过turbine可以监控集群的请求量,可以知道系统的请求高峰期,从而更好的知道系统的短板在哪里