> A second idea that comes to my mind would be to implement a shared counter (it can easily be eventually consistent, consistency is I think not a concern here).
This is simply a drive-by comment, as I have not directly weighed in on the rest of the discussion. But this comment about a shared counter reminded of an recent interview with Tim Wagner https://read.acloud.guru/serverless-and-blockchain-an-interview-with-tim-wagner-from-aws-to-coinbase-f3b2b5939790 about SQS and Lambda integration: So in order to give customers — and ourselves, frankly — some control over that, we had to go invent an entire new feature, concurrency controls per function in Lambda, which also meant we had to have metrics and internal infrastructure for that. That required us to change some of our architecture to produce what we call the high-speed counting service, and and so on and so forth. There’s a whole lot of iceberg below the waterline for the piece that comes poking above the top. -r