java - 亚马逊s3的多线程问题获取请求

原文 标签 java multithreading amazon-s3

我正在尝试从s3存储桶中列出具有非常大数据的对象。
我在多个线程(50到100个线程)中使用“listObjects”方法。对于每个线程,我提供了commonPrefix,该API将列出该commonprefix下的所有对象。
我必须在合理的时间内使用许多线程来提取大数据。因此,我定义了100个线程,但面临以下异常:

  • javax.net.ssl.SSLException:握手期间收到close_notify
  • java.net.SocketException:连接重置
  • java.net.SocketException:读取超时

  • 我想知道如何有效地将多线程用于亚马逊s3请求

    最佳答案

    听起来亚马逊不希望您一次执行100个查询。

    另外,至少在某些系统上,100个连接将使用户的网络连接承受巨大压力,并且可能使整个过程变慢,超出您的想象。

    使用NIO Selector而不是100个线程会更聪明。

    关于java - 亚马逊s3的多线程问题获取请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20262962/

    相关文章:

    java - 如何使用Java代码启动一组线程

    java - 为什么此CompletableFuture无法与共享的ExecutorService一起执行?

    amazon-web-services - 如何撤消AWS堆栈回滚?

    Sinatra 中的 css.erb 文件

    java - 华氏到摄氏的转换只产生 0.0 和 -0.0

    java - 使用Apache轴从wsdl创建Web服务

    c# - 从应用程序的多个线程到数据库的多个连接会提高插入查询的性能吗?

    apache-spark - 我应该使用哪个版本的 hadoop-aws

    java - 使用Java API的Elasticsearch聚合

    java - 使用Akka远程系统 Play 2.0.2