1

我正在开发一个服务,它从 SQS 读取消息,进行一些处理并将结果发布到不同的服务。

当我最初开发这个时,该服务运行得非常好,但是几天后(大约 5 天)我得到了这个异常:

com.amazonaws.http.AmazonHttpClient: Unable to execute HTTP request: Connection to https://sqs.us-east-1.amazonaws.com refused { org.apache.http.conn.HttpHostConnectException: Connection to https://sqs.us-east-1.amazonaws.com refused
    at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:158)
    at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:149)
    at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:121)
    at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:561)
    at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:415)
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:820)
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:754)
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:732)
    at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:280)
    at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:165)
    at com.amazonaws.services.sqs.AmazonSQSClient.invoke(AmazonSQSClient.java:869)
    at com.amazonaws.services.sqs.AmazonSQSClient.getQueueAttributes(AmazonSQSClient.java:453)

我重新激活了该服务,它又开始工作了。我的问题是有人遇到过这个问题吗?如果是这样,处理此类异常的最佳方法是什么?

另一个有趣的事实是几乎同时在服务的所有主机上发生了相同的异常。这可能是因为 SQS 中断还是预期会出现这种短暂的连接失败?

4

0 回答 0