SpringCloudHystrix

编程

服务降级

整体资源快不够了,忍痛将某些服务先关掉,待渡过难关,再开启回来。

服务降级处理是在客户端实现完成的,与服务端没有关系

1 服务接口添加服务的异常回调统一处理,

package com.atguigu.springcloud.service;

 

import java.util.List;

 

import org.springframework.cloud.netflix.feign.FeignClient;

import org.springframework.web.bind.annotation.PathVariable;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestMethod;

 

import com.atguigu.springcloud.entities.Dept;

 

@FeignClient(value = "MICROSERVICECLOUD-DEPT",fallbackFactory=DeptClientServiceFallbackFactory.class)

public interface DeptClientService

{

  @RequestMapping(value = "/dept/get/{id}",method = RequestMethod.GET)

  public Dept get(@PathVariable("id") long id);

 

  @RequestMapping(value = "/dept/list",method = RequestMethod.GET)

  public List<Dept> list();

 

  @RequestMapping(value = "/dept/add",method = RequestMethod.POST)

  public boolean add(Dept dept);

}

2 修改消费者application.yml支持熔断组件

feign: 

  hystrix: 

    enabled: true

 

Hystrix Dashboard监控

除了隔离依赖服务的调用以外,Hystrix还提供了准实时的调用监控(Hystrix Dashboard),Hystrix会持续地记录所有通过Hystrix发起的请求的执行信息,并以统计报表和图形的形式展示给用户,包括每秒执行多少请求多少成功,多少失败等。Netflix通过hystrix-metrics-event-stream项目实现了对以上指标的监控。Spring Cloud也提供了Hystrix Dashboard的整合,对监控内容转化成可视化界面。

1 集成过程,pom添加熔断监控依赖

   <!-- hystrix和 hystrix-dashboard相关-->

   <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> 

2 修改启动类添加启动依赖

package com.atguigu.springcloud;

 

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;

 

@SpringBootApplication

@EnableHystrixDashboard

public class DeptConsumer_DashBoard_App

{

  public static void main(String[] args)

  {

   SpringApplication.run(DashBoard_App.class,args);

  }

}

3 服务提供者依赖中提供相应jian"ce支持

   <!-- actuator监控信息完善 -->

   <dependency>

     <groupId>org.springframework.boot</groupId>

     <artifactId>spring-boot-starter-actuator</artifactId>

   </dependency>

4 启动熔断监控项目,访问http://localhost:8001/hystrix,看到豪猪即监控项目构筑成功了

5 填写监控的服务地址,就可以查看到服务的监控视图,如下图所示:

实心圆:共有两种含义。它通过颜色的变化代表了实例的健康程度,它的健康度从绿色<黄色<橙色<红色递减

该实心圆除了颜色的变化之外,它的大小也会根据实例的请求流量发生变化,流量越大该实心圆就越大。所以通过该实心圆的展示,就可以在大量的实例中快速的发现故障实例和高压力实例。

曲线:用来记录2分钟内流量的相对变化,可以通过它来观察到流量的上升和下降趋势。

以上是 SpringCloudHystrix 的全部内容, 来源链接: utcz.com/z/513410.html

回到顶部