feign整合hystrix开启hystrix后启动报错_springcloud那些不懂hystrix的秘密

一 前言springcloud系列文章已经出到hystrix,中间知识追寻者跑去学了其它知识,回来感觉spingcloud系列出的也不少了;需要完全理解这篇文章对于初学者需要有一定的基础知识,如果看不懂请移步知识追寻者的springcloud专栏进行学习;学完本篇,你将获得学会使用Hstrix进行服务容错,学会Hystrix熔断监控;能学完本篇内容请留下赞呦!!!!二 Hystrix入门首先需要搭...
摘要由CSDN通过智能技术生成

49d24e9ebe308c1efe2d059570a6a4e0.png

一 前言

springcloud系列文章已经出到hystrix,中间知识追寻者跑去学了其它知识,回来感觉spingcloud系列出的也不少了;需要完全理解这篇文章对于初学者需要有一定的基础知识,如果看不懂请移步知识追寻者的springcloud专栏进行学习;学完本篇,你将获得学会使用Hstrix进行服务容错,学会Hystrix熔断监控;能学完本篇内容请留下赞呦!!!!

二 Hystrix入门

首先需要搭建工程hystrix-client 引入eureka和 hystrix依赖

2.1pom.xml

    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
        </dependency>
    </dependencies>

2.2 service

在service层定义一个获得用户的方法getUser()用于提供服务,方法内容对用户名进行判断,如果是zszxz, 返回回用户说明,否则抛出异常;定义默认用户方法defaultUser()用于容错处理,在获得用户方法上面添加注释@HystrixCommand 并且将容错回调指向defaultUser()方法;有关注释详细使用请读者参考如下官方文档;

="https://github.com/Netflix/Hystrix/tree/master/hystrix-contrib/hystrix-javanica#configuration">Hystrix@HystrixCommand配置

/**
 * @Author lsc
 * <p> </p>
 */
@Component
public class UserService {
​
    // 为getUser方法添加容错回调处理
    @HystrixCommand(fallbackMethod = "defaultUser")
    public String getUser(String params){
        if (params.equals("zszxz")){
            return "the user is zszxz";
        }else {
            // 抛出异常时会直接调用fallbackMethod中指定的方法
            throw new RuntimeException();
        }
    }
    /* *
     * @Author lsc
     * <p> 出错回调处理</p>
     * @Param [params]
     * @Return java.lang.String
     */
    public String defaultUser(String params){
        return "it is the user thar is not exist in project";
    }
}

2.3 controller

表现层直接调用服务层方法,参数为用户名username

/**
 * @Author lsc
 * <p> </p>
 */
@RestController
public class UserController {
​
    @Autowired
    UserService  userService;
​
    @GetMapping("user")
    public String getUser(String username){
        return userService.getUser(username);
    }
}

2.4application.yml

配置文件中指定端口8094 , 并且指定应用名称为 hystrix-client , 后面是向eureka-server进行服务注册;


 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值