The Competing Consumer Pattern enables a system to process multiple messages concurrently to optimize throughput, to improve scalability and availability.
By introducing an Asynchronous Queue between a task and a service, you will be allowing the service to handle the messages at its own pace
Applications that rely heavily on a data-store usually can benefit greatly from using the Cache-Aside Pattern. How does it work?
A series on some common and modern Design Patterns that are useful in today's horizontally scalable (such as cloud-hosted) applications.