Queues are often misused in the world of programming, especially when it comes to fixing issues with slow apps. In order to understand why this is a problem, we need to look at the concept of queues in more detail. Imagine a large bathroom sink, with water flowing in from the faucet and out through the drain. Under normal circumstances, the system can handle all the data that comes in and carry it out smoothly. However, during times of temporary overload, such as during a major event or news story, the system may struggle to keep up with the influx of data. This is when queues are often introduced as a way to hold the temporary data. But if the overload becomes prolonged, the queues can’t handle it anymore and the system crashes. This is where the real problem lies – hitting a hard limit that wasn’t properly considered. People often resort to adding more queues or using other optimization mechanisms, but this only makes the system more complex and harder to maintain. Instead, it’s important to identify bottlenecks and implement proper back-pressure mechanisms or load-shedding strategies. This ensures that the system operates within its limits and prevents failures. Queues should only be used in appropriate situations and not as a knee-jerk reaction to slow
https://ferd.ca/queues-don-t-fix-overload.html