News for hackers. Stuff that matters.
Re:Terrible programming features from the past by deviledeggs on Monday July 05, 2021 @12:05AM (#27734545)
Since people are mentioning current examples, putting message queues everywhere is a terrible modern pattern.

Looks great on the surface. Ride through transient failures. Easier load balancing. Even out load spikes. But underneath, you're adding bufferbloat to your system.

I've worked on systems where every service communicates with event queues. Debugging these things is hell. Problems with eventual consistency everywhere. Duplicate requests chilling in the queues where you can't see or get rid of them. Ordering issues. Bad messages/events clogging up queues. Upgrade nightmares whenever endpoints change.

Adding a message queue between your services instead of doing things synchronously is a great way to sabotage a project.

Re:Terrible programming features from the past by rjh29 on Monday July 05, 2021 @06:14AM (#27736276)
Some of those can be resolved by using a distributed log (Kafka, Redis Streams) rather than a message queue. Not all of them though!