从SQS读取 - 优化并行性?

时间:2017-01-19 21:57:07

标签: java multithreading amazon-sqs

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

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

它似乎不是对系统的限制 - 在运行时有许多内核负载很低或没有负载。

每个线程都发送一个ReceiveMessageRequest,其中包含最多(10)条消息和60秒超时。

问题:

  • 有更好的方式来接收邮件吗?也许一个侦听器和多个处理器从共享队列中拉出来?
  • 每个应用程序是否有已知限制?在多个实例甚至主机之间分发这项工作会有帮助吗?
  • 与SQS保持同步的其他策略?

0 个答案:

没有答案