Architecture Patterns
Explore 65 proven architectural patterns. Each pattern includes detailed explanations, use cases, and trade-offs to help you make informed design decisions.
65
Total Patterns
6
Categories
3
Interactive Playgrounds
🗄️Data Architecture(3 patterns)
Canonical Data Model
Canonical Data Model Overview The Canonical Data Model pattern defines a common, shared data model that is independent of any specific application. Al...
Data ArchitectureLearn More →
Data Encryption Patterns
Data Encryption Patterns Summary Comprehensive data protection using encryption at rest, in transit, and in use, with proper key management. What it i...
Data ArchitectureLearn More →
Data Mesh
Data Mesh Summary Decentralized, domain-oriented data ownership; data as a product with federated governance and platform self-service. What it is A s...
Data ArchitectureLearn More →
🌐Distributed Systems(3 patterns)
Microservice Architecture
Microservice Architecture Summary Independent, deployable services aligned to business domains, communicating via APIs, events, or streams. What it is...
Distributed SystemsLearn More →
Service Activator
Service Activator Overview Service Activator connects messaging infrastructure to application services, allowing services to be invoked through both m...
Distributed SystemsLearn More →
Service-Oriented Architecture (SOA)
Service-Oriented Architecture (SOA) Summary Reusable, contract-driven services integrated via mediation (often ESBs) with centralized governance; a pr...
Distributed SystemsLearn More →
⚡Event-Driven(4 patterns)
CQRS
CQRS Summary Separate write and read models to optimize for different workloads; often paired with events. What it is Commands mutate write models; qu...
Event-DrivenLearn More →
Event Sourcing
Event Sourcing Summary Persist changes as an immutable sequence of events; rebuild state by replaying events and produce read models via projections....
Event-DrivenLearn More →
Event-Driven Architecture
Event-Driven Architecture Summary Systems communicate through events, enabling loose coupling, async workflows, and reactive behavior. What it is Prod...
Event-DrivenLearn More →
event-message
Event Message Summary An Event Message is used to notify other applications about a change that has occurred in the sender. It enables asynchronous, d...
Event-DrivenLearn More →
📋General(48 patterns)
Adapter Pattern
Adapter Pattern Summary Introduce an adapter that translates between incompatible interfaces, enabling legacy integration and boundary isolation. What...
GeneralLearn More →
Aggregator
Aggregator Overview The Aggregator pattern combines multiple related messages into a single comprehensive message. It collects and stores individual m...
GeneralLearn More →
Bijira's MCP Servers - Code for AI
Bijira's MCP Servers - Code for AI Summary Transform existing APIs into AI-consumable MCP Servers using WSO2 Bijira, enabling AI agents to interact wi...
GeneralLearn More →
Blackboard
Blackboard Summary Multiple specialized components collaborate by reading/writing to a shared knowledge source (the blackboard) until a solution emerg...
GeneralLearn More →
Broker (Message‑Brokered)
Broker (Message‑Brokered) Summary Decouple producers and consumers via a broker that routes, buffers, and delivers messages (queues/topics). What it i...
GeneralLearn More →
Cell‑Based Architecture
Cell‑Based Architecture Summary A decentralized, cloud‑native reference architecture where independently deployable ‘cells’ act as self‑contained unit...
GeneralLearn More →
channel-adapter
Channel Adapter Summary A Channel Adapter connects an application to a messaging system, allowing it to send and receive messages without having to be...
GeneralLearn More →
Claim Check
Claim Check Overview The Claim Check pattern reduces message size by storing the entire message or parts of it in external storage and passing only a...
GeneralLearn More →
command-message
GeneralLearn More →
Content Enricher
Content Enricher Overview The Content Enricher pattern accesses an external data source to augment a message with additional information. It adds miss...
GeneralLearn More →
Content Filter
Content Filter Overview The Content Filter pattern removes unneeded data items from a message, leaving only the information required by the recipient....
GeneralLearn More →
Content-Based Router
Content-Based Router Overview The Content-Based Router pattern examines the content of a message and routes it to a different channel based on data co...
GeneralLearn More →
correlation-identifier
Correlation Identifier Summary A Correlation Identifier is a unique ID that is added to a request message and is then returned in the corresponding re...
GeneralLearn More →
document-message
Document Message Summary A Document Message is a message that contains a complete data structure or "document". The content of the message is the most...
GeneralLearn More →
Domain-Centric Architecture
Domain-Centric Architecture Summary A family of styles that place the domain model and use cases at the center, enforcing boundaries and dependency in...
GeneralLearn More →
Envelope Wrapper
Envelope Wrapper Overview Envelope Wrapper encapsulates application data inside a messaging infrastructure envelope, allowing incompatible data format...
GeneralLearn More →
format-indicator
Format Indicator Summary A Format Indicator is metadata that is included in a message to tell the receiver how to interpret the message's content. It...
GeneralLearn More →
Idempotent Receiver
Idempotent Receiver Overview The Idempotent Receiver ensures that duplicate messages are detected and processed only once, even if received multiple t...
GeneralLearn More →
Message Channel
Message Channel Overview A Message Channel connects one application to another, enabling asynchronous communication between distributed systems. It ac...
GeneralLearn More →
Message Dispatcher
Message Dispatcher Overview Message Dispatcher coordinates multiple message processors to handle messages concurrently from a single channel, improvin...
GeneralLearn More →
Message Filter
Message Filter Overview The Message Filter pattern examines incoming messages and selectively passes only those that meet specified criteria to the ne...
GeneralLearn More →
Message History
Message History Overview Message History tracks the path a message has traveled through a messaging system by maintaining a list of all components and...
GeneralLearn More →
Message Store
Message Store Overview Message Store captures and persists message information in a central repository, enabling message replay, audit trails, and his...
GeneralLearn More →
message-endpoint
Message Endpoint Summary A Message Endpoint connects an application to a messaging system, allowing it to send and receive messages. It hides the deta...
GeneralLearn More →
message-sequence
Message Sequence Summary A Message Sequence is a pattern used to send a large piece of data by breaking it down into a series of smaller, individual m...
GeneralLearn More →
message-translator
Message Translator Summary A Message Translator is a component that translates a message from one format to another. It's used to connect systems that...
GeneralLearn More →
Messaging Gateway
Messaging Gateway Overview The Messaging Gateway pattern encapsulates messaging-specific code and provides a simple, application-friendly interface fo...
GeneralLearn More →
Messaging Mapper
Messaging Mapper Overview Messaging Mapper translates between messaging infrastructure messages and domain objects in the application layer, decouplin...
GeneralLearn More →
messaging-bridge
Messaging Bridge Summary A Messaging Bridge is a dedicated component that connects two or more different messaging systems, allowing messages to be pa...
GeneralLearn More →
Microkernel / Plugin Architecture
Microkernel / Plugin Architecture Summary Core system exposes extension points; features are delivered as plugins loaded at runtime or build time. Wha...
GeneralLearn More →
Monolithic Architecture
Monolithic Architecture Summary Single deployable unit combining multiple modules. Simple operationally and effective for many products. What it is A...
GeneralLearn More →
N‑Tier (Client‑Server) Architecture
N‑Tier (Client‑Server) Architecture Summary Multi-tier runtime architecture (e.g., presentation, application, data) where clients request services fro...
GeneralLearn More →
Normalizer
Normalizer Overview The Normalizer pattern processes messages that are semantically equivalent but arrive in different formats by converting them into...
GeneralLearn More →
Pipes and Filters
Pipes and Filters Overview Pipes and Filters is an architectural pattern that divides a complex processing task into a sequence of smaller, independen...
GeneralLearn More →
point-to-point-channel
Point-to-Point Channel Summary A Point-to-Point Channel ensures that only one of the receivers on a channel will receive a particular message. It's us...
GeneralLearn More →
Polling Consumer
Polling Consumer Overview Polling Consumer enables an application to consume messages from a channel when the application is ready, giving the receive...
GeneralLearn More →
Process Manager
Process Manager Overview The Process Manager pattern routes messages through multiple processing steps where the required steps may not be known at de...
GeneralLearn More →
publish-subscribe-channel
Publish-Subscribe Channel Summary A Publish-Subscribe Channel is a messaging channel that broadcasts messages from a single publisher to multiple subs...
GeneralLearn More →
Recipient List
Recipient List Overview The Recipient List pattern routes a message to a dynamically specified list of recipients. Unlike static broadcast, the list o...
GeneralLearn More →
Resequencer
Resequencer Overview The Resequencer pattern restores the proper order to a sequence of related messages that may have been received out of order. It...
GeneralLearn More →
Routing Slip
Routing Slip Overview The Routing Slip pattern routes a message consecutively through a series of processing steps, where the sequence of steps is det...
GeneralLearn More →
Scatter-Gather
Scatter-Gather Overview The Scatter-Gather pattern broadcasts a message to multiple recipients and re-aggregates the responses back into a single mess...
GeneralLearn More →
Selective Consumer
Selective Consumer Overview Selective Consumer allows a message receiver to filter and consume only messages that match specific criteria, ignoring ir...
GeneralLearn More →
Serverless
Serverless Summary Event-driven functions and managed services with autoscaling and pay-per-use. What it is A deployment model using functions, manage...
GeneralLearn More →
Space-Based Architecture
Space-Based Architecture Summary Scale and resilience via partitioned, replicated in-memory data grids and collocated processing; minimizes database c...
GeneralLearn More →
Splitter
Splitter Overview The Splitter pattern breaks down a single message containing multiple elements into individual messages, each containing data relate...
GeneralLearn More →
Test Message
Test Message Overview Test Message validates the health and functionality of messaging components by sending diagnostic messages through the system an...
GeneralLearn More →
Wire Tap
Wire Tap Overview The Wire Tap pattern allows you to inspect messages that travel through a message channel without interfering with the main message...
GeneralLearn More →
🔒Security(3 patterns)
API Security Gateway Pattern
API Security Gateway Pattern Summary Centralized security enforcement for APIs including authentication, authorization, rate limiting, and threat prot...
SecurityLearn More →
OAuth2 & OIDC Patterns
OAuth2 & OIDC Patterns Summary Secure authorization and authentication patterns using OAuth2 flows and OpenID Connect for identity federation. What it...
SecurityLearn More →
Zero-Trust Security Architecture
Zero-Trust Security Architecture Summary Never trust, always verify. Security model assuming breach and requiring verification for every access reques...
SecurityLearn More →
🏗️Structural(4 patterns)
Clean Architecture
Clean Architecture Summary Domain‑centric, dependency‑inversion style family emphasizing concentric layers (entities, use cases, interfaces) and the D...
StructuralLearn More →
Hexagonal Architecture
Hexagonal Architecture Summary Domain-centric design separating core logic from external concerns via ports (interfaces) and adapters. What it is Core...
StructuralLearn More →
Layered Architecture
Layered Architecture Summary Organize code into layers (presentation, business, persistence, database) with clear responsibilities and boundaries (oft...
StructuralLearn More →
Onion Architecture
Onion Architecture Summary Domain-centric layering with the domain model at the center; infrastructure concerns form outer rings; enforces dependency...
StructuralLearn More →