springcloud实战之8 断路器-仪表盘-单例监控(Hystrix)
2017-12-19 15:51
1406 查看
Spring Cloud不但跟Hystrix能够做到优雅的整合,还能够整合他的仪表盘组件Hystrix Dashboard,它主要用来实时监控Hystrix的各项指标信息。通过Hystrix Dashboard反馈的实时信息,可以帮助我们快速发现系统中存在的问题,从而及时的采取应对措施。
在Spring Cloud中构建Hystrix Dashboard非常简单。
2.启动springcloud-hystirx-dashboard项目
服务注册效果图
注意:要想看到第二张图的效果,必须先访问一次接口,才能对接口访问情况进行监控
springboot实战之服务消费者(ribbon)
springcloud实战之服务消费者(Feign)
springcloud实战之服务注册与发现(eureka实现)
springcloud实战之高可用服务注册中心(eureka集群)
springcloud实战之断路器(Hystrix)
在Spring Cloud中构建Hystrix Dashboard非常简单。
创建工程(springcloud-hystirx-dashboard)
添加依赖
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.9.RELEASE</version> <relativePath /> </parent> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${version.springcloud}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-hystrix</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-hystrix-dashboard</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> </dependencies>
创建配置文件
spring: application: name: springcloud-hystrix-dashboard server: port: 8005 eureka: client: service-url: defaultZone: http://peer1:8080/eureka/ instance: lease-renewal-interval-in-seconds: 45 # 用于定义服务续约任务的调用间隔时间,默认30秒 lease-expiration-duration-in-seconds: 90 # 用于定义服务失效的时间 ,默认90秒
创建入口文件
@SpringBootApplication @EnableDiscoveryClient @EnableHystrixDashboard @EnableCircuitBreaker // 开启断路器功能 public class SpringCloudHystrixDashboardApplication { public static void main(String[] args) { new SpringApplicationBuilder(SpringCloudHystrixDashboardApplication.class) .web(true) .run(args) ; } }
编写config文件
@Configuration public class BeanConfig { @Bean @LoadBalanced // 开启服务端负载均衡 RestTemplate restTemplate(){ return new RestTemplate(); } }
编写service接口
@Service("restfulSerivce") public class RestfulServiceImpl { @Autowired private RestTemplate restTemplate ; /** * 定义服务降级逻辑(serviceFallback) * 并且自动的实现了线程调用得依赖隔离-实现线程池的隔离, * 为每一个依赖服务创建一个独立的线程池,这样就算某一个依赖服务出现延迟过高 * 的情况,也只是对该依赖服务的调用产生影响,而不会拖慢其他的服务。 * * Hystrix会将请求结果放入缓存,默认缓存key既是请求参数 */ @HystrixCommand(fallbackMethod = "serviceFallback") public String getRestData(){ return restTemplate.getForObject("http://springcloud-producer-rest/api/rest/info",String.class) ; } public String serviceFallback() { return "hi,sorry,error!"; } }
编写web层接口
@RestController @RequestMapping("/api/rest") public class RestfulController { @Autowired private RestfulServiceImpl restfulService ; @Value("${server.port}") String port ; @Value("${spring.application.name}") String name ; @RequestMapping("/home") public String home(){ return "I am info from port("+port+") from application name("+name+") invoke other service." + "\n" +restfulService.getRestData(); } }
启动工程
1.启动Eureka Server集群项目2.启动springcloud-hystirx-dashboard项目
服务注册效果图
注意:要想看到第二张图的效果,必须先访问一次接口,才能对接口访问情况进行监控
源码
springcloud-hystirx-dashboard历史文章
springcloud实战之技术选型:dubbo还是springcloudspringboot实战之服务消费者(ribbon)
springcloud实战之服务消费者(Feign)
springcloud实战之服务注册与发现(eureka实现)
springcloud实战之高可用服务注册中心(eureka集群)
springcloud实战之断路器(Hystrix)
相关文章推荐
- Spring Cloud Learning | 第七篇:断路器监控仪表盘(Hystrix Dashboard)
- SpringCloud之断路器聚合监控(Hystrix Turbine)
- SpringCloud: 断路器聚合监控(Hystrix Turbine)
- SpringCloud微服务实战之断路器Hystrix
- SpringCloud 学习 | 第八篇: 断路器监控使用(Hystrix Dashboard)
- springcloud实战之7 断路器(Hystrix)
- Spring Cloud 入门教程(八): 断路器指标数据监控Hystrix Dashboard 和 Turbine
- SpringCloud之断路器监控(Hystrix Dashboard) |第六章 -yellowcong
- SpringCloud之断路器聚合监控Spring Cloud Hystrix Turbine实例
- Spring Cloud 断路器Hystrix实战
- springcloud实战之9 断路器-集群监控(turbine)
- Spring Cloud中Hystrix仪表盘与Turbine集群监控
- SpringCloud之断路器聚合监控(Hystrix Turbine)
- SpringCloud之断路器监控(Hystrix Dashboard)(九)
- SpringCloud 教程 (六)断路器聚合监控(Hystrix Turbine)
- SpringCloud之断路器聚合监控(Hystrix Turbine)
- SpringCloud之断路器监控(Hystrix Dashboard)(九)
- Cloud中Hystrix仪表盘与Turbine集群监控
- SpringCloud调研系列3.2:断路器-Feign集成Hystrix
- [bigdata-110] spring-cloud-06 Hystrix断路器