我们有一个要求,我们需要使用SQS从头到尾一次处理1条消息(不是严格的顺序)。反正我们可以在SQS中将maxConcurrentConsumer设置为1吗?
我正在查看文档,但找不到要设置的属性。在亚马逊控制台上,我在配置队列菜单中看不到此属性。在消息检索时,我们可以具体说明我们想要在一次轮询中读取多少消息,但由于AWS自动扩展功能可以创建多个消费者(实际上是Springboot微服务),我们不能通过将此限制设置为1来依赖它。
P.S。 :我们无法控制邮件发件人,它可以向SQS发送许多邮件。
答案 0 :(得分:2)
没有设置可以控制并发SQS使用者的最大数量。正如您所提到的,通常的做法是根据队列的大小水平扩展队列使用者。如果出于某种原因,您的要求是拥有单个队列使用者,那么您将不得不从其他微服务中删除或禁用队列使用者,因此您只有一个使用者。
但是,我鼓励您重新考虑设计,仅允许单个队列使用者,因为该实现无法扩展。