I need the ad-hoc, independent queues to be trivially created based on a shared publisher/consumer key and I don't care about persistence - if a msg is not delivered immediately, it should be dropped. All endpoints are behind Nat, so some polling is required.
Is there a service that would help me here? SNS almost works, but creating/restricting individual queues ad-hoc makes it more work than I want to deal with. Can something else provide a trivial "send(secret, queue name, message)" and "listen(secret, queue)" functionality?
I'm a little tempted to just use Telegram for this.
For your 10 messages a day, how about something even simpler, just throw them into an s3 bucket and trigger a lambda on save?
It would cost nothing, would be durable.
Their client libraries handled most of the edge-cases that I would have had to worry about using SQS or a message broker on my own. It seems like they're scaling using sensible technologies on the back-end and have very approachable pricing for early-growth projects compared to some of the enterprise focused alternatives.
Like this example chat app: https://github.com/cloudflare/workers-chat-demo/blob/master/... It supports private chat rooms, which is somewhat analogous to a pub sub topic.
You can deploy a rabbitmq software container using your favourite cloud provider. It’s not much work.
* encrypted * automatic NAT punching * complete location independence * use 0MQ with tor as transport if you want a queue on top .
Or if it has to be fast and low latency: 0MQ with eliptic curve encryption.