I'm trying to implement a worker queue to handle burst of messages. Every few days/weeks I get a burst of ~5,000 messages that need to be processed in a reasonable time (each message can be proceeded in about 1-2 min). Ideally if I could run 5,000 lambdas simultaneous the whole process should take 1-2 min but my account is limit to 1,000 concurrency lambda.
I was planning to create an SQS as event source to lambda but I can't see any Throttling mechanism? I can set reserved concurrency on the lambda but it will be deducted from my account limit and it sound "expensive" to keep those lambda idle for an event that can occur only one per few weeks.
Is there a way to throttling SQS? or maybe I need to choose other service to implement such queue?