Learn-skills.dev microservices-architecture

Microservices architecture patterns and design. Use when user asks to "design microservices", "service decomposition", "API gateway", "distributed transactions", "circuit breaker", "service mesh", "event-driven architecture", "saga pattern", "service discovery", or mentions microservices design patterns and distributed systems.

install
source · Clone the upstream repo
git clone https://github.com/NeverSight/learn-skills.dev
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/NeverSight/learn-skills.dev "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/skills-md/1mangesh1/dev-skills-collection/microservices-architecture" ~/.claude/skills/neversight-learn-skills-dev-microservices-architecture && rm -rf "$T"
manifest: data/skills-md/1mangesh1/dev-skills-collection/microservices-architecture/SKILL.md
source content

Microservices Architecture

Patterns and best practices for designing and implementing microservices architectures.

Core Patterns

Service Decomposition

  • Domain-driven design (bounded contexts)
  • Business capability based
  • Ownership clarity
  • Technology diversity

API Gateway Pattern

Client → API Gateway → Service 1
                    → Service 2
                    → Service 3
  • Single entry point
  • Authentication/authorization
  • Request routing
  • Rate limiting

Database per Service

  • Each service owns its database
  • Data consistency challenges
  • Enables technology diversity

Event-Driven Communication

Service A → Event Bus → Service B
           → Service C
  • Loose coupling
  • Eventual consistency
  • Event sourcing

Reliability Patterns

Circuit Breaker

// Fails fast when service is unavailable
const breaker = new CircuitBreaker(async () => {
  return await serviceCall();
}, {
  threshold: 5,        // Fail after 5 errors
  timeout: 60000       // Check after 60s
});

Retry Logic

// Exponential backoff
const maxRetries = 3;
const baseDelay = 1000;
for (let i = 0; i < maxRetries; i++) {
  try {
    return await service.call();
  } catch (e) {
    if (i === maxRetries - 1) throw e;
    await sleep(baseDelay * Math.pow(2, i));
  }
}

Timeout Management

  • Set reasonable timeouts
  • Cascading timeout calculation
  • Fail fast strategy

Consistency Patterns

Two-Phase Commit (2PC)

  • Synchronous, strong consistency
  • Blocking, reduced availability
  • Use sparingly

Saga Pattern

Transaction 1: Service A
  ↓ success
Transaction 2: Service B
  ↓ success
Transaction 3: Service C
  ↓ failure → Compensating transactions
  • Long-running transactions
  • Eventual consistency
  • Compensating actions on failure

Event Sourcing

  • Append-only event log
  • Reconstible state
  • Audit trail built-in

Monitoring & Operations

Distributed Tracing

  • Correlate requests across services
  • Identify latency bottlenecks
  • Tools: Jaeger, Zipkin

Logging

  • Structured logging with correlation IDs
  • Centralized log aggregation
  • Tools: ELK, Splunk

Metrics

  • Per-service metrics
  • Request latency, throughput
  • Resource usage

Service Mesh

Istio/Linkerd

  • Manages service-to-service communication
  • Traffic management
  • Security policies
  • Observability

Configuration Management

# Environment-specific config
app:
  database:
    url: ${DB_URL}
    timeout: ${DB_TIMEOUT:-5000}
  cache:
    ttl: ${CACHE_TTL:-3600}
  security:
    jwtSecret: ${JWT_SECRET}

Deployment Strategies

Blue-Green Deployment

  • Two identical environments
  • Switch traffic instantly
  • Quick rollback

Canary Deployment

  • Gradual rollout to subset of users
  • Monitor metrics
  • Expand if successful

Rolling Deployment

  • Gradual replacement of old instances
  • No downtime
  • Longer deploy time

API Design for Microservices

  • RESTful or gRPC
  • Versioning strategy
  • Backward compatibility
  • Documentation (OpenAPI)

Challenges & Solutions

ChallengeSolution
Distributed transactionsSaga pattern, event sourcing
Data consistencyEventual consistency acceptance
Service discoveryService registry (Consul, Eureka)
LatencyCaching, async communication
DebuggingDistributed tracing, correlation IDs
ComplexityAPI gateway, service mesh

Team Organization

  • Cross-functional teams per service
  • Clear API contracts
  • Ownership and accountability
  • Communication patterns

References

  • Sam Newman - Building Microservices
  • Chris Richardson - Microservices Patterns
  • Kubernetes in Action
  • AWS Microservices Architecture
  • Kong API Gateway Guide