如何在同一个ec2实例中创建两个单独的sqs队列

时间:2017-01-05 12:44:54

标签: amazon-web-services amazon-ec2 amazon-sqs

我正在使用EC2和SQS,如何在同一个ec2实例中创建两个单独的sqs队列。让我们说这样的情况 - 我正在使用sqs来处理队列中的任务,每个任务需要很长时间,突然我得到了一个要求,我必须处理50k队列进程,这将至少需要1弱,这里我想做一个这个50k消息的新队列线程,以便它不应该让其他队列等待,直到它被处理。所以主线程不会因新的消息而得到延迟

1 个答案:

答案 0 :(得分:1)

由于SQS队列不属于EC2实例,队列是在帐户级别创建的,因此EC2实例可以使用AWSSDK客户端根据需要创建队列,因此您的问题不能正确读取。

根据您的说法,处理队列中突发消息的一种方法是将消息保持在1个队列中,并定义EC2 Auto Scaling组,该组配置为在队列上扩展和缩小EC2实例长度。 See here for instructions

或者,如果此队列具有需要分离的消息,因为一种消息类型的反压不应影响另一种消息,则应创建多个队列(使用控制台或SDK)并独立轮询这些消息。您可以从多个线程轮询,从1个线程轮询并将工作扇出到多个线程,从多个处理轮询,或使用完全不同的EC2实例进行轮询。你有很多选择。