Categories:
| Pattern | Summary | Category |
|---|---|---|
| Ambassador | Create helper services that send network requests on behalf of a consumer service or application. | Design and Implementation, Operational Excellence |
| Anti-Corruption Layer | Implement a façade or adapter layer between a modern application and a legacy system. | Design and Implementation,Operational Excellence |
| Asynchronous Request-Reply | Decouple backend processing from a frontend host, where backend processing needs to be asynchronous, but the frontend still needs a clear response. | Messaging |
| Backends for Frontends | Create separate backend services to be consumed by specific frontend applications or interfaces. | Design and Implementation |
| Bulkhead | Isolate elements of an application into pools so that if one fails, the others will continue to function. | Reliability |
| Cache-Aside | Load data on demand into a cache from a data store | Data Management, Performance Efficiency |
| Choreography | Let each service decide when and how a business operation is processed, instead of depending on a central orchestrator. | Messaging,Performance Efficiency |
| Circuit Breaker | Handle faults that might take a variable amount of time to fix when connecting to a remote service or resource. | Reliability |
| Claim Check | Split a large message into a claim check and a payload to avoid overwhelming a message bus. | Messaging |
| Compensating Transaction | Undo the work performed by a series of steps, which together define an eventually consistent operation. | Reliability |
| Competing Consumers | Enable multiple concurrent consumers to process messages received on the same messaging channel. | Messaging |
| Compute Resource Consolidation | Consolidate multiple tasks or operations into a single computational unit | Design and Implementation |
| CQRS | Segregate operations that read data from operations that update data by using separate interfaces. | Data Management,Design and Implementation,Performance Efficiency |
| Deployment Stamps | Deploy multiple independent copies of application components, including data stores. | Reliability,Performance Efficiency |
| Event Sourcing | Use an append-only store to record the full series of events that describe actions taken on data in a domain. | Data Management,Performance Efficiency |
| External Configuration Store | Move configuration information out of the application deployment package to a centralized location. | Design and Implementation,Operational Excellence |
| Federated Identity | Delegate authentication to an external identity provider. | Security |
| Gatekeeper | Protect applications and services by using a dedicated host instance that acts as a broker between clients and the application or service, validates and sanitizes requests, and passes requests and data between them. | Security |
| Gateway Aggregation | Use a gateway to aggregate multiple individual requests into a single request. | Design and Implementation,Operational Excellence |
| Gateway Offloading | Offload shared or specialized service functionality to a gateway proxy. | Design and Implementation,Operational Excellence |
| Gateway Routing | Route requests to multiple services using a single endpoint. | Design and Implementation,Operational Excellence |
| Geodes | Deploy backend services into a set of geographical nodes, each of which can service any client request in any region. | Reliability,Operational Excellence |
| Health Endpoint Monitoring | Implement functional checks in an application that external tools can access through exposed endpoints at regular intervals. | Reliability,Operational Excellence |
| Index Table | Create indexes over the fields in data stores that are frequently referenced by queries. | Data Management,Performance Efficiency |
| Leader Election | Coordinate the actions performed by a collection of collaborating task instances in a distributed application by electing one instance as the leader that assumes responsibility for managing the other instances. | Design and Implementation,Reliability |
| Materialized View | Generate prepopulated views over the data in one or more data stores when the data isn't ideally formatted for required query operations. | Data Management,Operational Excellence |
| Pipes and Filters | Break down a task that performs complex processing into a series of separate elements that can be reused. | Design and Implementation,Messaging |
| 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. | Messaging,Performance Efficiency |
| Publisher/Subscriber | Enable an application to announce events to multiple interested consumers asynchronously, without coupling the senders to the receivers. | Messaging |
| 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. | Reliability,Messaging,Resiliency,Performance Efficiency |
| Retry | Enable an application to handle anticipated, temporary failures when it tries to connect to a service or network resource by transparently retrying an operation that's previously failed. | Reliability |
| Scheduler Agent Supervisor | Coordinate a set of actions across a distributed set of services and other remote resources. | Messaging,Reliability |
| Sequential Convoy | Process a set of related messages in a defined order, without blocking processing of other groups of messages. | Messaging |
| Sharding | Divide a data store into a set of horizontal partitions or shards. | Data Management,Performance Efficiency |
| Sidecar | Deploy components of an application into a separate process or container to provide isolation and encapsulation. | Design and Implementation,Operational Excellence |
| Static Content Hosting | Deploy static content to a cloud-based storage service that can deliver them directly to the client. | Design and Implementation,Data Management,Performance Efficiency |
| Strangler Fig | Incrementally migrate a legacy system by gradually replacing specific pieces of functionality with new applications and services. | Design and Implementation,Operational Excellence |
| Throttling | Control the consumption of resources used by an instance of an application, an individual tenant, or an entire service. | Reliability,Performance Efficiency |
| Valet Key | Use a token or key that provides clients with restricted direct access to a specific resource or service. | Data Management,Security |
Last modified 02 November 2025