Earlier quoted context omitted.
In my experience monoliths don't reduce complexity, they just shift it. The main issue with monoliths is that they don't have clear and explicit separation of concern between domain concerns, therefore it's very easy for your monolith codebase to devolve into a mess of highly interconnected spaghetti code with time. This is especially true if you're building something large with a lot of developers who don't necessar…
I think lots of microservices can be replaced with a monolith which in turn can be replaced with a set of composable libraries versioned separately. If anyone doubts that, this very browser used to read and write is built all the way up with dozens of libraries from compression, network, image encoding, decoding, video encoding decoding, encryption, graphics, sound and what not where each library is totally separate…
Ask HN: Why do message queue-based architectures seem less popular now?
131–140 of 376 posts
Re: Ask HN: Why do message queue-based architectures seem less popular now?
#132I implemented RabbitMQ based messaging queues as a mechanism to coordinate execution among discrete components of a handful of ambitious laboratory automation systems ~4-8 years ago. Given a recent opportunity to rethink messaging based architectures, I chose the simplicity and flexibility of Redis to implement stack and queue based data-structures accessible across distributed nodes. With even a handful of nodes, it…
Re: Ask HN: Why do message queue-based architectures seem less popular now?
#133Re: Ask HN: Why do message queue-based architectures seem less popular now?
#134Earlier quoted context omitted.
Who says monoliths don't have clear and explicit separation of concern between domain concerns? I think that just comes down to how the codebase is organized and how disciplined the team is, or possibly breaking out core parts into separate libraries or other similar strategies - technically it's still a monolith.
Libraries are a great way to manage separation of concerns. Any dependency you add has to be explicit. There's nothing stopping you from adding that dependency but you can't just do it accidentally. The graph of dependencies between components makes for explicit separation of concerns just like you would have a graph of dependencies between different network services.
Re: Ask HN: Why do message queue-based architectures seem less popular now?
#135We just call it different. Or use different underlying products. Nearly all web frameworks have some worker system built in. Many languages have async abilities using threads and messaging built in.
The only popular language and ecosystem I can think of that doesn't offer "worker queues" and messaging OOTB is JavaScript.
We are using it more than ever before. We just don't talk about it anymore, because it has become "boring" tech.
Re: Ask HN: Why do message queue-based architectures seem less popular now?
#136We have a new project (~ 6 years now) where we implemented a queue with RabbitMQ to temporarily store business events before they are stored in a database for reporting later. It's awesome! It absorbs the peaks, smoothes them out, acts as a buffer for when the database is down for upgrades, and I think over all these years we only had one small issue with it. 10/10 would recommend.
also, what do you do when the queue is down?
Re: Ask HN: Why do message queue-based architectures seem less popular now?
#137Re: Ask HN: Why do message queue-based architectures seem less popular now?
#138Hype died down along with "microservices" where queues made more sense.
Re: Ask HN: Why do message queue-based architectures seem less popular now?
#139There is literally nothing in common between RabbitMQ and ZeroMQ except for the two symbols 'MQ' in the name.
Re: Ask HN: Why do message queue-based architectures seem less popular now?
#140Earlier quoted context omitted.
That‘s nice, but the question is if you (i.e. your company) needs this ecosystem.
Need no. But it’s nice especially since I have the know how. Creating a new deployment is just super fast. Developers can deploy their own apps etc. And then there is Helm. If we only decide by “need” then most of the time we also wouldn’t need object oriented programming.
Right, who doesn't want to template hundreds of lines of code in a language that uses whitespace for logic and was never made neither for templating nor complex long documents(YAML)? What could possibly go wrong ("error missing xxx at line 728, but it might be a problem elsewhere").