microservices-patterns
Design microservices architectures with service boundaries, event-driven communication, and resilience patterns. Use when building distributed systems, decomposing monoliths, or implementing microservices.
By secondsky · 348 installs
npx skills add secondsky/claude-skills --skill microservices-patterns
Source repository · Upstream listing
Microservices Patterns
Master microservices architecture patterns including service boundaries, inter service communication, data management, and resilience patterns for building distributed systems.
When to Use This Skill
Decomposing monoliths into microservices
Designing service boundaries and contracts
Implementing inter service communication
Managing distributed data and transactions
Building resilient distributed systems
Implementing service discovery and load balancing
Designing event driven architectures
Core Concepts
1. Service Decomposition Strategies
By Business Capability
Organize services around business functions
Each service owns its domain
Example: OrderService, PaymentService, InventoryService
By Subdomain (DDD)
Core domain, supporting subdomains
Bounded contexts map to services
Clear ownership and responsibility
Strangler Fig Pattern
Gradually extract from monolith
New functionality as microservices
Proxy routes to old/new systems
2. Communication Patterns
Synchronous (Request/Response)
REST APIs
gRPC
GraphQL
Asynchronous (Events/Messages)
Event streaming (Kafka)
Message queues (RabbitMQ, SQS)
Pub/Sub patterns
3. Data Management
Database Per Service
Each service owns its data
No shared databases
Loose coupling
Saga Pattern
Distributed transactions
Compensating actions
Eventual consistency
4. Resilience Patterns
Circuit Breaker
Fail fast on repeated errors
Prevent cascade failures
Retry with Backoff
Transient fault handling
Exponential backoff
Bulkhead
Isolate resources
Limit impact of failures
Service Decomposition Patterns
Pattern 1: By Business Capability
Pattern 2: API Gateway
Communication Patterns
Pattern 1: Synchronous REST Communication
Pattern 2: Asynchronous Event Driven
Pattern 3: Saga Pattern (Distributed Transactions)
Resilience Patterns
Circuit Breaker Pattern
Best Practices
1. Service Boundaries : Align with business capabilities
2. Database Per Service : No shared databases
3. API Contracts : Versioned, backward compatible
4. Async When Possible : Events over direct calls
5. Circuit Breakers : Fail fast on service failures
6. Distributed Tracing : Track requests across services
7. Service Registry : Dynamic service discovery
8. Health Checks : Liveness and readiness probes
Common Pitfalls
Distributed Monolith : Tightly coupled services
Chatty Services : Too many inter service calls
Shared Databases : Tight coupling through data
No Circuit Breakers : Cascade failures
Synchronous Everything : Tight coupling, poor resilience
Premature Microservices : Starting with microservices
Ignoring Network Failures : Assuming reliable network
No Compensation Logic : Can't undo failed transactions