②. 断路器演示(服务监控hystrixDashboard)
①. 修改cloud-provider-hystrix-payment8001
注意:新版本Hystrix需要在主启动类MainAppHystrix8001中指定监控路径
如果不加如下配置那么会抛出Unable to connect to Command Metric Stream 404
@EnableCircuitBreaker //开启服务降级 @SpringBootApplication @EnableEurekaClient public class PaymentHystrixMain8001 { public static void main(String[] args) { SpringApplication.run(PaymentHystrixMain8001.class, args); } /** * 此配置是为了服务监控而配置的,与服务容错本身无关,springCould升级后的坑 * servletRegistrationBean因为springboot的默认路径不是 "/hystrix.stream", * 只要在自己的项目里配置上下面的servlet就可以了 * * @return */ @Bean public ServletRegistrationBean getServlet() { HystrixMetricsStreamServlet streamServlet = new HystrixMetricsStreamServlet(); ServletRegistrationBean registrationBean = new ServletRegistrationBean(streamServlet); registrationBean.setLoadOnStartup(1); registrationBean.addUrlMappings("/hystrix.stream"); registrationBean.setName("HystrixMetricsStreamServlet"); return registrationBean; } }
②. 监控测试
③. 9001监控8001,填写监控地址(http://localhost:8001/hystrix.stream)
Delay:该参数用来控制服务器上轮询监控信息的延迟时间,默认为2000毫秒,可以通过配置该属性来降低客户端的网络和CPU消耗
Title:该参数对应了头部标题Hystrix Stream之后的内容,默认会使用具体监控实例的URL,可以通过配置该信息来展示更合适的标题
④. 测试地址
http://localhost:8001/payment/circuit/31
http://localhost:8001/payment/circuit/-31
先访问正确地址,再访问错误地址,再正确地址,会发现图示断路器都是慢慢放开的
监控结果,成功
监控结果,失败
⑤. 如何看监控
解释
(1). 7色
(2).1圈 实心圆:共有两种含义。它通过颜色的变化代表了实例的健康程度,它的健康度从绿色<黄色<橙色<红色递减
该实心圆除了颜色的变化之外,它的大小也会根据实例的请求流量发生变化,流量越大该实心圆就越大。所以通过该实心圆的展示,就可以在大量的实例中快速的发现故障实例和高压力实例
(3). 一线(曲线:用来记录2分钟内流量的相对变化,可以通过它来观察到流量的上升和下降趋势)
(4). 整图说明