Amazon web services AWS SQS队列提高性能

Amazon web services AWS SQS队列提高性能,amazon-web-services,amazon-sqs,Amazon Web Services,Amazon Sqs,我尝试实现一个AWS SQS队列,以尽量减少来自后端服务器的数据库交互,但我遇到了问题 我有一个使用者进程,它从一个SQS队列中查找消息。 当客户端单击web界面中的按钮时,会在SQS队列中放置一条JSON消息。 应用服务器中的后端作业从SQS队列中拾取JSON消息,从队列中删除该消息并对其进行处理。 为了测试功能,我为一个客户机实现了逻辑。运行良好。然而,当我再添加3个客户端时,它无法正常工作。我能够看到SQS队列中出现了500条消息,后端作业从队列中读取消息时工作正常 我需要增加后端作业的数

我尝试实现一个AWS SQS队列,以尽量减少来自后端服务器的数据库交互,但我遇到了问题

我有一个使用者进程,它从一个SQS队列中查找消息。 当客户端单击web界面中的按钮时,会在SQS队列中放置一条JSON消息。 应用服务器中的后端作业从SQS队列中拾取JSON消息,从队列中删除该消息并对其进行处理。 为了测试功能,我为一个客户机实现了逻辑。运行良好。然而,当我再添加3个客户端时,它无法正常工作。我能够看到SQS队列中出现了500条消息,后端作业从队列中读取消息时工作正常

我需要增加后端作业的数量还是增加客户端SQS队列的数量?现在,所有客户端都将消息发送到同一队列


如何计算所需的后端作业数?另外,是否有任何设置可以使SQS更快地工作?

将消息存储在队列中是好的-事实上,这就是使用队列的目的

如果您的后端系统无法以生成消息的速率使用消息,则队列将充当缓冲区来保留消息,直到消息可以被处理为止。一个很好的例子是AWS re:Invent演示文稿,其中显示的队列包含超过2亿条消息:

如果快速处理消息很重要,那么扩展您的消费者以匹配消息生成的速率或更快,这样您就可以使用积压工作


您提到您的流程从SQS队列中拾取JSON消息,从队列中删除消息并对其进行处理。请注意,最佳做法是从队列接收消息,对其进行处理,然后在完全处理后将其删除。这样,如果进程失败,消息将在定义的不可见期后自动重新出现在队列上。这使您的应用程序对故障更具弹性。

将消息存储在队列中是一件好事-事实上,这就是使用队列的目的

如果您的后端系统无法以生成消息的速率使用消息,则队列将充当缓冲区来保留消息,直到消息可以被处理为止。一个很好的例子是AWS re:Invent演示文稿,其中显示的队列包含超过2亿条消息:

如果快速处理消息很重要,那么扩展您的消费者以匹配消息生成的速率或更快,这样您就可以使用积压工作


您提到您的流程从SQS队列中拾取JSON消息,从队列中删除消息并对其进行处理。请注意,最佳做法是从队列接收消息,对其进行处理,然后在完全处理后将其删除。这样,如果进程失败,消息将在定义的不可见期后自动重新出现在队列上。这使您的应用程序更能适应故障。

我们需要更多信息-我每秒通过SQS发送数百条消息,没有任何问题。需要代码/详细信息。你说的500条信息是什么意思?到底是什么在这里不起作用?您是说无法将邮件添加到队列中吗?SQS队列只存储消息。SQS没有做任何工作,所以我不明白你说的让它更快工作是什么意思。您可以这样计算所需的后端作业数:如果队列中的项目处理速度不如您希望的快,请添加更多工作人员。非常感谢您提供的信息。我想知道它每秒可以存储多少条消息。似乎没有限制将添加更多工作线程并进行检查。在较新的FIFO队列上只有吞吐量限制。如果您使用的是标准队列,它应该能够每秒处理几乎无限的消息。但是,即使是FIFO队列也有每秒300条消息的吞吐量,这听起来比您所经历的要高得多。非常感谢您提供的详细信息。在aws控制台中,是否有任何指标可以指示我增加消费者?目前,如果客户正在等待,我将增加消费者。我有兴趣了解更多关于SWF的知识。如果你能分享任何好的视频链接,那就太好了,如何创建swf,就像我看过的讨论理论部分的大多数视频一样?我们需要更多信息-我通过SQS每秒发送数百条消息,没有任何问题。需要代码/详细信息。你说的500条信息是什么意思?到底是什么在这里不起作用?您是说无法将邮件添加到队列中吗?SQS队列只存储消息。SQS没有做任何工作,所以我不明白你说的让它更快工作是什么意思。您可以这样计算所需的后端作业数:如果队列中的项目处理速度不如您希望的快,请添加更多工作人员。非常感谢您提供的信息。是wo
不限制每秒可以存储的消息数。似乎没有限制将添加更多工作线程并进行检查。在较新的FIFO队列上只有吞吐量限制。如果您使用的是标准队列,它应该能够每秒处理几乎无限的消息。但是,即使是FIFO队列也有每秒300条消息的吞吐量,这听起来比您所经历的要高得多。非常感谢您提供的详细信息。在aws控制台中,是否有任何指标可以指示我增加消费者?目前,如果客户正在等待,我将增加消费者。我有兴趣了解更多关于SWF的知识。这将是伟大的,如果你能分享任何好的视频链接如何创建swf作为我所看到的大多数视频讨论理论部分?非常感谢的信息。将观看视频链接。目前,如果客户正在等待,我将增加消费者数量。在aws控制台中,我是否可以在一段时间内看到任何指标,指示我增加消费者数量?我有兴趣了解更多关于SWF的知识。如果你能分享任何好的视频链接,那就太好了。我看过的大多数视频都在讨论swf的理论部分。Amazon CloudWatch提供了Amazon SQS队列中消息数量的指标。这些指标可以与自动缩放一起使用,以便在队列增长超过所需大小时自动添加容量。请参阅:对于Amazon Simple Workflow SWF,请查看。对延迟响应表示歉意。非常感谢汉克斯提供的信息。将观看视频链接。目前,如果客户正在等待,我将增加消费者数量。在aws控制台中,我是否可以在一段时间内看到任何指标,指示我增加消费者数量?我有兴趣了解更多关于SWF的知识。如果你能分享任何好的视频链接,那就太好了。我看过的大多数视频都在讨论swf的理论部分。Amazon CloudWatch提供了Amazon SQS队列中消息数量的指标。这些指标可以与自动缩放一起使用,以便在队列增长超过所需大小时自动添加容量。请参阅:对于Amazon Simple Workflow SWF,请查看。对延迟响应表示歉意。谢谢