Design Patterns: Queue-Based Load Leveling Pattern
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
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