首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hystrix -第一次请求时响应较慢

Hystrix -第一次请求时响应较慢
EN

Stack Overflow用户
提问于 2018-02-28 22:52:27
回答 1查看 928关注 0票数 1

我有一个Spring Boot REST服务,它使用来自Spring Cloud Netflix的Hystrix。我注意到对接口的第一次调用需要很多时间来处理,因为第一次调用与Hystrix隔离的方法需要2-3秒来加载Hystrix。

代码如下:

代码语言:javascript
复制
@HystrixCommand(ignoreExceptions = { BusinessException.class,
                    TechnicalException.class }, fallbackMethod = "testFall", commandProperties = {
@HystrixProperty(name = "execution.isolation.thread.timeoutInMilliseconds", value = "15000") })
public void test() throws BusinessException, TechnicalException {
    System.out.println("Inside");
}

有没有办法预先加载Hystrix,这样就不会发生这种情况?

EN

回答 1

Stack Overflow用户

发布于 2018-07-19 21:52:41

我也有同样的问题(丢失“只”500ms)。

当HystrixCommandGroup第一次初始化时就会发生这种情况。大部分时间都是在创建HystrixMetrics时丢失的:hystrix profiling

我已经创建了一个问题:https://github.com/Netflix/Hystrix/issues/1832

不幸的是,只有在调用带注释的方法时,才会初始化HystrixCommand (以及HystrixCommandGroup中的)。您不能预编译它。作为变通办法,您可以使用抽象HystrixCommand类代替注释,并在启动时创建一个虚拟实例。例如:

代码语言:javascript
复制
public class TestCommand extends HystrixCommand<String> {

    static {
        new TestCommand();
    }

    protected TestCommand() {
        super(HystrixCommandGroupKey.Factory.asKey("mygroup"));
    }

    @Override
    protected String run() throws Exception {
        // TODO Auto-generated method stub
        return null;
    }

}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49032383

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档