小编itt*_*elo的帖子

使用Tomcat从Elastic Load Balancer获取504错误

我有一个在多个EC2实例上运行的应用程序,由Apache Tomcat提供服务.我在应用程序前面设置了一个AWS Elastic Load Balancer,一切都基本按预期工作.但是,我偶尔会从ELB获得一个随机504超时错误.这似乎与负载无关,因为我已经看到轻负载和重负载下的错误.此外,它似乎不会出现在任何常规模式或情况中.

在我的测试早期,我得到了504个错误,因为我的应用程序响应的时间比ELB上的默认60秒超时要长.我通过将ELB超时提升到我的应用程序所需的级别来解决这个问题.但是,我现在得到的504错误很快就会发生.因此,例如,我看到的一个错误是响应时间大约为一秒的请求.当请求不可能在应用程序服务器上超时时,获得超时错误似乎很奇怪.

对于这个问题,这可能是一个类似的问题,尽管我无法从所提供的信息中得知.此外,我没有额外的负载均衡器,只有ELB直接到Tomcat.

tomcat amazon-ec2 amazon-web-services amazon-elb

8
推荐指数
1
解决办法
2750
查看次数

在使用polyfill的IE11中,Promise.catch失败

我在我的Polymer 2项目中使用ES6,Promises和fetch.因为我需要支持至少IE11,我正在使用Babel(通过聚合物构建)和使用polyfills.io来进行polyfill fetch和Promise支持.我的polyfills.io导入发生在任何其他导入之前,如下所示:

<script src="https://cdn.polyfill.io/v2/polyfill.js?features=default,fetch&flags=gated"></script>

当我加载页面时,IE11控制台中出现此错误:

SCRIPT438: Object doesn't support property or method 'catch'

查看我的代码,我唯一一次使用catch是在Promises中.例如:

loadSchemas() {
  return APP.client
    .search("+type:Schema")
    .then(result => {
      // Do things with results.
    })
    .catch(error => {
      // Deal with errors.
    });
}
Run Code Online (Sandbox Code Playgroud)

如果我删除了catch,页面加载没有错误,但显然它没有运行我的错误处理代码.

为什么这不按预期工作?它在Firefox,Chrome和Safari中运行良好.我尝试了许多不同的承诺polyfills并仍然得到相同的错误,所以我不认为这是一个polyfill bug.

javascript polyfills internet-explorer-11 polymer es6-promise

5
推荐指数
2
解决办法
2394
查看次数