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/
├── deployment/
├── 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
- Sidecar
Contributions are welcome!
If you'd like to improve documentation, diagrams, or examples, feel free to open a Pull Request.