The distributed nature of cloud applications requires a messaging infrastructure that connects the components and services, ideally in a loosely coupled manner in order to maximize scalability. Asynchronous messaging is widely used
Competing Consumers pattern
Enable multiple concurrent consumers to process messages received on the same messaging channel. This enables a system to process multiple messages concurrently to optimize throughput, to improve scalability and availability, and to balance the workload.
Pipes and Filters pattern
Decompose a task that performs complex processing into a series of separate elements that can be reused. This can improve performance, scalability, and reusability by allowing task elements that perform the processing to be deployed and scaled independently.
Priority Queue pattern
Prioritize requests sent to services so that requests with a higher priority are received and processed more quickly than those with a lower priority. This pattern is useful in applications that offer different service level guarantees to individual clients.
Queue-Based Load Leveling pattern
Use a queue that acts as a buffer between a task and a service it invokes in order to smooth intermittent heavy loads that can cause the service to fail or the task to time out. This can help to minimize the impact of peaks in demand on availability and responsiveness for both the task and the service.
Scheduler Agent Supervisor pattern
Coordinate a set of distributed actions as a single operation. If any of the actions fail, try to handle the failures transparently, or else undo the work that was performed, so the entire operation succeeds or fails as a whole.
References
- https://docs.microsoft.com/en-us/azure/architecture/patterns/competing-consumers
- https://docs.microsoft.com/en-us/azure/architecture/patterns/pipes-and-filters
- https://docs.microsoft.com/en-us/azure/architecture/patterns/priority-queue
- https://docs.microsoft.com/en-us/azure/architecture/patterns/queue-based-load-leveling
- https://docs.microsoft.com/en-us/azure/architecture
No comments:
Post a Comment