A pattern catalog matters when it helps teams choose fewer solutions, not accumulate more abstractions.
In real design work, the chapter shows how CQRS, Event Sourcing, communication patterns, and service practices should be selected through system symptoms: coupling, throughput limits, consistency pain, and evolution pressure.
In interviews and engineering discussions, it helps surface anti-pattern signals such as over-orchestration, event chaos, and hidden synchronous dependencies without turning the conversation into a glossary recital.
Practical value of this chapter
Design in practice
Use the pattern catalog as a decision aid, not as a mandatory checklist.
Decision quality
Select patterns by system symptoms: coupling, throughput limits, and consistency pain.
Interview articulation
Explain both applicability and where a pattern would add unnecessary complexity.
Failure framing
Track anti-pattern signals: over-orchestration, event chaos, and hidden sync dependencies.
Source
Brief overview in Russian
My book review on Tell Me About Tech
Microservice Patterns and Best Practices
Authors: Vinicius Feitosa Pacheco
Publisher: Packt Publishing, 2018
Length: 366 pages
CQRS patterns, Event Sourcing, communication strategies and best practices for scalable microservices from Vinicius Feitosa Pacheco.
Related topic
Monolith to Microservices
Detailed migration patterns from Sam Newman
From monolith to microservices
The book begins with an analysis of the evolution of architectural approaches. Monolithic applications work great at startup, but the word "success" becomes a problem - when the system grows, difficulties arise with scaling, deployment and support.
Evolution of architectural patterns
Benefits of Microservices
Related book
Building Microservices
Sam Newman's seminal work on microservices
Key patterns
The author examines in detail patterns that help solve typical problems of distributed systems:
CQRS
Command Query Responsibility Segregation - separation of read and write
Event Sourcing
Storing all changes as a sequence of events
Event-Driven
Asynchronous communication through events
Circuit Breaker
Protection against cascading failures
API Gateway
Single point of entry for clients
Saga Pattern
Distributed transactions via events
CQRS and Event Sourcing
CQRS (Command Query Responsibility Segregation)
Dividing the model into two parts: Command for recording and Query for reading. This allows each part to be optimized independently.
- Different data models for reading and writing
- Independent read/write scaling
- Optimization for specific use cases
Event Sourcing
Instead of storing the current state, we store all eventsthat led to this condition. This gives a complete history of changes.
- Full audit log out of the box
- Ability to replay events
- Temporal queries (state at any point in time)
💡 CQRS and Event Sourcing are often used together, but this independent patterns. You can use CQRS without Event Sourcing and vice versa.
Integration Patterns
Enterprise Integration Patterns
Integration classics: messaging, routing, transformation
Communication Strategies
Synchronous communication
REST, gRPC - the client waits for a response from the server.
Asynchronous communication
Message queues, event streaming — fire-and-forget.
Practical examples from the book
The book contains several practical examples of building microservice systems using different technologies:
Python + nameko
Microservice framework for Python with RPC and event-driven patterns.
Go + gRPC
High performance services with Protocol Buffers.
Event Streaming
Kafka/RabbitMQ for asynchronous communication.
Main conclusions
Related chapters
- Building Microservices (short summary) - Core decomposition, autonomy, and platform operations principles that this book’s pattern set builds on.
- Learning Domain-Driven Design (short summary) - DDD foundations for service boundaries, domain language, and team-level contracts in microservice systems.
- Monolith to Microservices (short summary) - A practical migration playbook for incremental transition from monolith to services with controlled risk.
- Event-Driven Architecture: Event Sourcing, CQRS, Saga - A deeper dive into async integration and core patterns that this book introduces as critical building blocks.
- Inter-service communication patterns - Sync/async interaction trade-offs, retries, and backpressure strategies for reliable service communication.
- Why microservices and integration are needed - System-level framing of boundaries and integration trade-offs before selecting specific architecture patterns.
- Software Architecture: The Hard Parts (short summary) - Distributed-system trade-offs and governance practices for operating mature microservice platforms.
