Queues Aren't the Right Abstraction
inngest.com
Queues Aren't the Right Abstraction
1–10 of 18 posts
Re: Queues Aren't the Right Abstraction
#2We went from ESB's because the were opaque. And this seems like it's very opaque.
All that work that you put into queues... its ugly but it's transparent. You can rationalize it, you're not abstracting things away into magic.
Re: Queues Aren't the Right Abstraction
#3Re: Queues Aren't the Right Abstraction
#4This feels like it turns into an ESB? We went from ESB's because the were opaque. And this seems like it's very opaque. All that work that you put into queues... its ugly but it's transparent. You can rationalize it, you're not abstracting things away into magic.
Re: Queues Aren't the Right Abstraction
#5> They offer reliability through guaranteed delivery, persistence, and dead letter queues, so developers know they aren't sending workloads into a black hole.
I disagree with this reason to use queues. If this is the only reason for using SQS or RabbitMQ or similar, perhaps the application is over-engineered.
If you want reliability, and that alone, use a transaction-based system.
Re: Queues Aren't the Right Abstraction
#6That was a lot of reading to discover they’ve built a workflow engine. They don’t want to call it a workflow engine because there’s a million of those. So they can up with a new name for a workflow engine.
Re: Queues Aren't the Right Abstraction
#7One catch is that you're going to have to version your code if your workflows/orchestrations run for days, or if there's no windows without running workflows. And there's no built-in support for this, so expect to duplicate your entire workflow for new versions, so the old one can run to the end with the old code.
Re: Queues Aren't the Right Abstraction
#8Re: Queues Aren't the Right Abstraction
#9> You need queues for three core reasons: > They offer reliability through guaranteed delivery, persistence, and dead letter queues, so developers know they aren't sending workloads into a black hole. I disagree with this reason to use queues. If this is the only reason for using SQS or RabbitMQ or similar, perhaps the application is over-engineered. If you want reliability, and that alone, use a transaction-based sy…
Re: Queues Aren't the Right Abstraction
#10There are very cool things you can do today without too much complexity with the primitives that modern database are capable of. Should one rebuild it for their startups, no, but if you were to extract the very core of the durable execution engine of windmill for instance, it would actually be surprisingly reasonable given that postgresql does the heavy lifting. I strongly believe the benefits of our platforms mostly come from the overall virtue to be standardized, opinionated and working out-of-the-box in a way that make everything fit together rather than the overall engineering complexity of it.