Design e UI
Padrões de arquitetura para microsserviços
Apoia o desenho de microsserviços com limites de domínio, comunicação síncrona ou assíncrona, dados distribuídos e resiliência.
Ver código no GitHub Instala diretamente do repositório-fonte.
O que esta skill faz
Esta skill reúne padrões para decompor monólitos e projetar sistemas distribuídos. Ela aborda capacidades de negócio, bounded contexts, Strangler Fig, REST, gRPC, GraphQL, eventos, banco por serviço, sagas e circuit breakers.
Quando usar
- Decompor gradualmente um monólito com Strangler Fig
- Definir serviços por capacidade de negócio ou subdomínio
- Escolher entre chamadas síncronas e mensagens assíncronas
- Coordenar transações distribuídas com sagas
- Planejar isolamento de falhas com circuit breakers
Como usar
- Revise o repositório e mapeie domínios, dependências e fluxos de dados
- Defina limites e propriedade de dados para cada serviço
- Escolha o padrão de comunicação conforme consistência e acoplamento
- Documente falhas esperadas, compensações e comportamento degradado
- Valide a arquitetura com cenários de indisponibilidade e evolução
O que revisar antes de instalar
- Microsserviços adicionam complexidade operacional e de observabilidade
- Consistência eventual pode não atender a todos os fluxos de negócio
- A skill não determina tecnologias ideais para cada contexto
SKILL.md
--- name: microservices-patterns description: Design microservices architectures with service boundaries, event-driven communication, and resilience patterns. Use when building distributed systems, decomposing monoliths, or implementing microservices. --- # 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 ## Detailed patterns and worked examples Detailed pattern documentation lives in `references/details.md`. Read that file when the navigation tier above is insufficient.