Design Pattern Categories Flashcards
What are the primary Microservice Design Pattern categories?
D.I.D.O.C
Decomposition - For organizing your services using DDD and addressing monolith migrations
Integration - Address seamless integration results across heterogeneous systems
Database - Database architecture for distributed systems
Observability - Addressing transparency of system for troubleshooting and understanding system capability
Cross Cutting Concerns - Patterns to assist with parts of of the system that rely on external or internal parts of the system
What Patterns are in Decomposition?
Decompose by Business Capability Decompose by Subdomain Decompose by Transaction Bulkhead Sidecar/Sidekick Strangler Anti-Corruption Layer
What Patterns are in Integration?
API Gateway Pattern Aggregator Pattern Proxy Pattern Gateway Routing Pattern Chained Microservice Pattern Branch Pattern Client Side UI Composition Pattern
What Patterns are in Database?
Considerations
Services must be loosely coupled. They can be developed, deployed, and scaled independently.
Business transactions may enforce invariants that span multiple services.
Some business transactions need to query data that is owned by multiple services.
Databases must sometimes be replicated and shared in order to scale.
Different services have different data storage requirements.
Database per Service Shared Database per Service CQRS Command Query Responsibility Segregation Event Sourcing Saga Pattern
What Patterns are in Observability?
Log Aggregation
Performance Metrics
Distributed Tracing
Health Checks
What Patterns are in Cross Cutting Concerns?
External Configuration
Service Discovery Pattern
Circuit Breaker Pattern
Blue Green Deployment Pattern