What if queue systems didn't have to trade anything off? Flexible, performant, lightweight, distributed, scalable, and easy to use - these are the qualities we often miss out on today. Most systems still force trade-offs: - Speed vs isolation - Simplicity vs control - Flexibility vs reliability Based on my experience, I believe these trade-offs may not be necessary. I have been writing RFCs for the next phase of Vasto Queue, which includes: - Built on Rust - Framework and language agnostic (Node.js and PHP workers) - Storage-agnostic (Redis, Postgres, MySQL, file, memory) - TCP-based communication with TLS support - Kubernetes-style coordination (control plane + data plane) - A strong focus on developer experience While still inspired by the experience of Laravel Horizon, Vasto Queue is designed to be runtime and infrastructure independent. The goal is straightforward: queue job processing, management, and visibility without complexity. I will be sharing the progress this week. If you were designing a queue system today, what would you refuse to compromise on? #Rust #NodeJS #PHP #DistributedSystems #Kubernetes #Backend #SystemDesign #OpenSource #SoftwareArchitecture #DevTools
The boilerplate tax is real. Auth setup from scratch. Then repeating it the next project. And the next. Smart devs version this once and ship it every time.
Storage-agnostic with a strong DX focus is the right combination to refuse to compromise on. Most queue systems either lock you into a specific backend or make the operational visibility so painful that you end up building your own tooling on top anyway. The one I'd add to that list is observable failure. Not just dead letter queues actual visibility into why a job failed, how many times, and what the retry state looks like without digging through logs.