1. Home
  2. ALL

6. hytrix熔断器容错机制的初步理解

首先我们要清楚hytrix已经和feign融合到一起了,就看我们到底用不用了

搭建过程

  1. consumer消费者端配置hytrix的开启
  2. 代码实现

1. consumer消费者端配置hytrix的开启

eureka:
  client:
    service-url:
      defaultZone: http://wkk:123456@127.0.0.1:7776/eureka
    registry-fetch-interval-seconds: 5
server:
  port: 9002
spring:
  application:
    name: wkk-user-consumer
feign:
 # 开启hytrix的配置项
  hystrix:  
    enabled: true

2. 代码实现

UserFeignClient接口类的类注解里面加入了UserFeignClientFallback.class这个回调类,这个类就是熔断器的实现类

@FeignClient(name = "wkk-user-provider",fallback = UserFeignClientFallback.class)
public interface UserFeignClient {

    @RequestMapping(value = "/login", method = RequestMethod.POST)
    boolean login(User user);

    @RequestMapping(value = "/login", method = RequestMethod.GET)
    String login(@RequestParam("count") int count);
}

然后是UserFeignClientFallback这个回调类的实现,注意它是UserFeignClient这个接口类的实现

/**
 * 备胎模块
 */
@Component
public class UserFeignClientFallback implements UserFeignClient {
    @Override
    public boolean login(User user) {
        return false;
    }

    @Override
    public String login(int i) {
        return "异常";
    }
}

我们要注意的是,当我们的服务提供者挂掉的时候,这个回调的熔断器就会起作用,熔断器实现但是feign接口类里面的方法,这个方法的具体规则与我们定义的真正的服务提供者的方法是必须一致的,这就是我们所说的微服务调用的三板斧

原创文章,作者:admin,如若转载,请注明出处:https://www.cxylaowang.com/167.html

Leave a Reply

Your email address will not be published. Required fields are marked *

Contact Us

在线咨询:点击这里给我发消息

邮件:814489173@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code