Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 阅读SQS-优化并行性?_Java_Multithreading_Amazon Sqs - Fatal编程技术网

Java 阅读SQS-优化并行性?

Java 阅读SQS-优化并行性?,java,multithreading,amazon-sqs,Java,Multithreading,Amazon Sqs,我有一个SQS队列,它发布来自SNS的文件通知。我有一个应用程序可以读取这些文件并对它们进行一些处理 似乎无论我同时运行多少线程,我都只能以固定的速率消耗。因此,该应用程序最大限度地提高了消费率,并在流量较高时开始滞后 这似乎不是对系统的限制-在运行时,有许多内核负载较低或空载 每个线程发送一个ReceiveMessageRequest,最多发送(10)条消息,超时时间为60秒 问题: 有没有更好的方式接收消息?可能是一个侦听器和多个处理器从共享队列中拉出 每个应用程序是否有已知的限制?在多个

我有一个SQS队列,它发布来自SNS的文件通知。我有一个应用程序可以读取这些文件并对它们进行一些处理

似乎无论我同时运行多少线程,我都只能以固定的速率消耗。因此,该应用程序最大限度地提高了消费率,并在流量较高时开始滞后

这似乎不是对系统的限制-在运行时,有许多内核负载较低或空载

每个线程发送一个
ReceiveMessageRequest
,最多发送(10)条消息,超时时间为60秒

问题:

  • 有没有更好的方式接收消息?可能是一个侦听器和多个处理器从共享队列中拉出
  • 每个应用程序是否有已知的限制?在多个实例甚至主机之间分发此工作是否有帮助
  • 与SQS保持同步的其他策略
“我只能以固定的速度消费。”您的消费速度是多少?这是一个FIFO队列吗?“我只能以固定的速率消费。”你达到的速率是多少?这是先进先出队列吗?