AWS-SQS:如何设置 maxConcurrentConsumers?

AWS-SQS: How to set maxConcurrentConsumers?

我们有一个要求,我们需要使用 SQS 从头到尾一次处理 1 条消息(不是严格的顺序)。无论如何我们可以在 SQS 中将 maxConcurrentConsumer 设置为 1?

我正在查看文档,但找不到要设置的 属性。在 Amazon 控制台上,我没有在配置队列菜单中看到此 属性。在消息检索时,我们可以指定要在单个轮询中读取多少条消息,但由于 AWS 自动缩放功能可以创建多个消费者(实际上是 Springboot 微服务),我们不能通过将此限制设置为 1 来依赖它。

P.S。 : 我们无法控制消息发送者,它可以向 SQS 发送很多消息。

没有控制并发 SQS 消费者最大数量的设置。正如您提到的,根据队列的大小水平扩展队列消费者是一种常见的做法。如果出于某种原因,您的要求是拥有一个队列消费者,那么您将不得不从其他微服务中删除或禁用队列消费者,这样您就只有一个消费者。

但是,我鼓励您重新考虑仅允许单个队列使用者的设计,因为该实现无法扩展。