Hello! For the past few months I’ve been working on building a message queue and I want to share it with everyone!
It’s called “SmoothMQ” - because it’s so smooth and easy to get started. It is written in Go, deploys as a single binary, and uses SQLite to store messages.
Most interestingly, it implements the SQS API. That means you can connect all of your existing SQS code and private background workers.
It has a lot of features that improve upon SQS itself. For example, you can schedule messages into the future. You can also use the dashboard to search for a specific message. Rate limiting and better dead-letter queues are coming soon!
Here is the code: https://github.com/poundifdef/smoothmq
The other interesting thing is that it exposes prometheus metrics. This means you could use the fly-autoscaler to automatically scale workers based on queue depth.
I would like to be able to work on this full-time. So I am offering a paid hosted version on Fly. I’d love your feedback - what you would want to see in a queue hosted on Fly? If you would be willing to have a zoom call with me then I’m also happy to throw in some credits too.
Finally, you can deploy it yourself! Here is a fly.toml to get you started. (But really, it would be swell if you wanted to support my excellent open-source work.)
Any and all feedback and suggestions welcome!