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