Microservice design principles –
1. Domain driven design
2. Single responsibility principle
3. High cohesion & low coupling
4. Decentralized data
5. Failure isolation
6. Fault tolerance
7. Hexagonal architecture
8. Continuous delivery with DevOps
9. Continuous monitoring & distributed
tracing
Microservice design pattern –
1. Decomposition pattern
2. Integration patter
3. Database pattern
4. Observability pattern
5. Cross cutting concern pattern
Decomposition pattern: -
1. Decomposed by business capability
2. Decomposed by subdomain
3. Strangler pattern
4. Bulkhead pattern
5. Sidecar patter
Integration patter
1. API gateway pattern
2. Aggregators pattern
3. Proxy pattern
4. Gateway routing pattern
5. Chained routing pattern
6. Chained microservices pattern
7. Branch pattern
8. Client-side UI composition pattern
Database pattern
1. Database per service
2. Shared database per service
3. CQRS pattern
4. Event sourcing pattern
5. SAGA Pattern
Observability pattern
1. Log aggregation pattern
2. Performance metrics pattern
3. Distributed tracing pattern
4. Health check pattern
Cross cutting concern pattern
1. External configuration pattern
2. Service discovery pattern
3. Circuit breaker pattern
4. Blue green deployment pattern
5. Canary deployment pattern