美文网首页
15.Hystrix -电商系统集成Hystrix(方法级别的方

15.Hystrix -电商系统集成Hystrix(方法级别的方

作者: 溅十三 | 来源:发表于2020-06-07 17:15 被阅读0次

1.把foodie-user-web的PassportController的login方法修改成熔断降级

2.配置HystrixCommand,在方法的头部加入@HystrixCommand注解

 @HystrixCommand(
            commandKey = "loginFail", // 全局唯一的标识服务,默认函数名称
            groupKey = "password", // 全局服务分组,用于组织仪表盘,统计信息。默认:类名
            fallbackMethod = "loginFail", //同一个类里,public private都可以
            // 在列表中的exception,不会触发降级
//            ignoreExceptions = {IllegalArgumentException.class}
            // 线程有关的属性
            // 线程组, 多个服务可以共用一个线程组
            threadPoolKey = "threadPoolA",
            threadPoolProperties = {
                    // 核心线程数
                    @HystrixProperty(name = "coreSize", value = "10"),
                    // size > 0, LinkedBlockingQueue -> 请求等待队列
                    // 默认-1 , SynchronousQueue -> 不存储元素的阻塞队列(建议读源码,学CAS应用)
                    @HystrixProperty(name = "maxQueueSize", value = "40"),
                    // 在maxQueueSize=-1的时候无效,队列没有达到maxQueueSize依然拒绝
                    @HystrixProperty(name = "queueSizeRejectionThreshold", value = "15"),
                    // (线程池)统计窗口持续时间
                    @HystrixProperty(name = "metrics.rollingStats.timeInMilliseconds", value = "2024"),
                    // (线程池)窗口内桶子的数量
                    @HystrixProperty(name = "metrics.rollingStats.numBuckets", value = "18"),
            }
//            ,
//            commandProperties = {
//                  // TODO 熔断降级相关属性,也可以放在这里
//            }
    )

3.实现熔断降级方法loginFail

1.参数一样
2.方法名不一样
3.多一个参数Throwable throwable,抛出错误,在方法中接收错误
4.模仿12306的错误抛出
5.@HystrixCommand在代码中感觉比较乱,推荐使用配置文件实现方式

    private IMOOCJSONResult loginFail(UserBO userBO,
                                      HttpServletRequest request,
                                      HttpServletResponse response,
                                      Throwable throwable) throws Exception {
        return IMOOCJSONResult.errorMsg("验证码输错了(模仿12306)" + throwable.getLocalizedMessage());
    }

相关文章

网友评论

      本文标题:15.Hystrix -电商系统集成Hystrix(方法级别的方

      本文链接:https://www.haomeiwen.com/subject/lrictktx.html