Messaging Patterns

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, and provides many benefits, but also brings challenges such as the ordering of messages, poison message management, idempotency, and more.

Pattern

Competing Consumers

Enable multiple concurrent consumers to process messages received on the same messaging channel.

Read more

Pipes and Filters

Break down a task that performs complex processing into a series of separate elements that can be reused.

Read more

Priority Queue

Prioritize requests sent to services so that requests with a higher priority are received and processed more quickly than those with a lower priority.

Read more

Queue-Based Load Leveling

Use a queue that acts as a buffer between a task and a service that it invokes in order to smooth intermittent heavy loads.

Read more

Scheduler Agent Supervisor

Coordinate a set of actions across a distributed set of services and other remote resources.

Read more