A curated collection of Microservices Architecture Patterns, best practices, architecture diagrams, trade-offs, and interview questions.
This repository serves as a practical reference for software engineers, solution architects, and technical leads who design and build distributed systems.
Each pattern includes:
- β Problem Statement
- β Solution
- β Architecture Diagram
- β Advantages & Disadvantages
- β Trade-offs
- β When to Use
- β When NOT to Use
- β Common Mistakes
- β Spring Boot Code Snippets
- β Interview Questions
βββ communication/
βββ data/
βββ resilience/
βββ diagrams
- API Gateway
- API Composition
- Service Discovery
- Messaging
- Backend For Frontend
- Database Per Service
- Saga
- Saga - Choreography
- Saga β Orchestration
- Shared Database (anti-pattern)
- Transactional Outbox Pattern
- CQRS
- Circuit Breaker
- Retry
- Bulkhead
Contributions are welcome!
If you'd like to improve documentation, diagrams, or examples, feel free to open a Pull Request.