Habilidades microservices-patterns
📦

microservices-patterns

Seguro 🌐 Acesso à rede⚙️ Comandos externos

Projete Arquiteturas de Microsserviços com Padrões Comprovados

Construir sistemas distribuídos com microsserviços introduz complexidade nos limites de serviços, comunicação entre serviços e tolerância a falhas. Esta skill fornece padrões testados em batalha para decomposição de serviços, arquitetura orientada a eventos, coordenação de sagas e implementação de circuit breaker para ajudá-lo a construir sistemas resilientes e escaláveis.

Suporta: Claude Codex Code(CC)
📊 69 Adequado
1

Baixar o ZIP da skill

2

Upload no Claude

Vá em Configurações → Capacidades → Skills → Upload skill

3

Ative e comece a usar

Testar

A utilizar "microservices-patterns". Como devo decomor uma plataforma de e-commerce em microsserviços?

Resultado esperado:

  • Para uma plataforma de e-commerce, recomendo organizar os serviços em torno de capacidades de negócio:
  •  
  • 1. **Order Service** - Gerencia o ciclo de vida do pedido, carrinho e histórico de pedidos
  • 2. **Payment Service** - Processa pagamentos, reembolsos e métodos de pagamento
  • 3. **Inventory Service** - Rastreia estoque de produtos, reservas e localizações de armazém
  • 4. **Catalog Service** - Listagens de produtos, busca e gerenciamento de categorias
  • 5. **User Service** - Autenticação, perfis e preferências
  • 6. **Shipping Service** - Rastreamento de entrega, geração de etiquetas e integração com transportadoras
  •  
  • Cada serviço possui seu próprio banco de dados e se comunica através de APIs ou eventos bem definidos. O Order Service publica eventos OrderCreated que os serviços Payment e Inventory consomem para processar suas respectivas operações de forma assíncrona.

A utilizar "microservices-patterns". Como lidar com uma falha de pagamento na minha saga de fulfillment de pedidos?

Resultado esperado:

  • Quando a etapa de pagamento falha na OrderFulfillmentSaga, o orquestrador de saga aciona ações compensatórias em ordem reversa:
  •  
  • 1. Pagamento falhou - nenhuma compensação necessária para o pagamento
  • 2. Compensar inventário: Liberar a reserva chamando InventoryService.release(reservation_id)
  • 3. Compensar pedido: Cancelar o pedido chamando OrderService.cancel(order_id)
  • 4. Retornar um resultado de falha com detalhes do erro para o cliente
  •  
  • A chave é projetar cada ação de compensação para ser idempotente e lidar com casos onde a própria compensação pode falhar parcialmente. Registre todas as ações de compensação e alerte os operadores para intervenção manual quando necessário.

A utilizar "microservices-patterns". Por que meu circuit breaker está abrindo imediatamente e como devo ajustá-lo?

Resultado esperado:

  • Um circuit breaker abre quando as falhas excedem o failure_threshold dentro de uma janela deslizante. Causas comuns e soluções:
  •  
  • **Se abre muito facilmente:**
  • - Aumente o failure_threshold (tente 10 ao invés de 5)
  • - Aumente o recovery_timeout (tente 60 segundos ao invés de 30)
  • - Adicione um success_threshold para exigir múltiplos sucessos antes de fechar
  •  
  • **Se permanece aberto por muito tempo:**
  • - Diminua o recovery_timeout para testes mais rápidos
  • - Use thresholds adaptativos baseados no volume de tráfego
  •  
  • **Melhores práticas:**
  • - Defina o failure_threshold baseado na taxa normal de erro do seu serviço
  • - Defina o recovery_timeout maior que a duração típica de interrupção
  • - Monitore mudanças de estado do circuit para ajustar parâmetros

Auditoria de Segurança

Seguro
v5 • 1/21/2026

Static analysis detected 36 patterns across 2 files. All findings evaluated as false positives or safe educational content. The 18 weak crypto alerts match on words like design and description in documentation. The 11 external command alerts are markdown code fences for syntax highlighting. Network patterns are legitimate example URLs for teaching microservices communication. No actual security risks identified.

2
Arquivos analisados
1,025
Linhas analisadas
2
achados
5
Total de auditorias
Auditado por: claude Ver Histórico de Auditoria →

Pontuação de qualidade

38
Arquitetura
100
Manutenibilidade
87
Conteúdo
21
Comunidade
100
Segurança
87
Conformidade com especificações

O Que Você Pode Construir

Migrar um Monolito para Microsserviços

Aplicar o padrão Strangler Fig para extrair gradualmente funcionalidades de um monolito legado em serviços implantáveis independentemente, mantendo a estabilidade do sistema.

Construir Processamento de Pedidos Orientado a Eventos

Projetar um sistema de gerenciamento de pedidos onde serviços de Order, Payment e Inventory se comunicam assincronamente através de eventos Kafka com compensação baseada em saga para transações falhadas.

Adicionar Resiliência a Chamadas de Serviço

Implementar circuit breakers e retry com backoff exponencial para proteger serviços de falhas em cascata e melhorar a confiabilidade geral do sistema sob interrupções parciais.

Tente Estes Prompts

Decomposição Básica de Serviços
Ajude-me a decomor minha aplicação {application_type} em microsserviços. A aplicação tem estas funções principais: {list_functions}. Como devo definir os limites de serviço e qual estratégia de decomposição devo usar?
Design de API Gateway
Projete um padrão de API gateway para minha arquitetura de microsserviços. Tenho estes serviços: {list_services}. Como o gateway deve lidar com autenticação, rate limiting e agregação de requisições?
Implementação de Padrão Saga
Ajude-me a implementar um padrão saga para um {business_process} que envolve estas etapas: {list_steps}. Quais ações compensatórias devo definir para cada etapa e como devo lidar com falhas parciais?
Configuração de Circuit Breaker
Tenho um serviço {service_name} que ocasionalmente experimenta picos de latência. Como devo configurar os parâmetros do circuit breaker (failure_threshold, recovery_timeout, success_threshold) e integrá-lo com meu cliente HTTP existente?

Melhores Práticas

  • Defina limites de serviço claros alinhados com capacidades de negócio em vez de camadas técnicas para garantir baixo acoplamento e alta coesão
  • Use comunicação assíncrona orientada a eventos para operações que podem tolerar consistência eventual para melhorar a resiliência do sistema e reduzir dependências bloqueantes
  • Sempre implemente circuit breakers em chamadas entre serviços e configure timeouts que sejam menores que o orçamento de timeout imposto pelo cliente

Evitar

  • Monolito Distribuído - Criar microsserviços fortemente acoplados através de bancos de dados compartilhados ou cadeias síncronas de dependências, perdendo os benefícios de deployment independente
  • Serviços Tagarelas - Projetar serviços que requerem dezenas de chamadas de ida e volta para completar uma única requisição de usuário, aumentando latência e pontos de falha
  • Tudo Síncrono - Usar comunicação requisição-resposta para toda comunicação entre serviços, criando acoplamento forte e impedindo escalabilidade independente e isolamento de falhas

Perguntas Frequentes

Quando devo escolher microsserviços ao invés de um monolito?
Considere microsserviços quando sua equipe precisa de ciclos de deployment independentes, diferentes serviços requerem diferentes stacks tecnológicos, ou você precisa de escalabilidade horizontal para componentes específicos. Comece com um monolito se sua aplicação é simples ou sua equipe é pequena, depois decomponha conforme a complexidade cresce.
Como manter consistência de dados entre microsserviços sem transações distribuídas?
Use o padrão Saga com transações compensatórias. Cada serviço executa sua operação e publica um evento. Se uma etapa posterior falha, etapas anteriores executam ações compensatórias para desfazer seu trabalho. Aceite consistência eventual ao invés de consistência forte para a maioria dos casos de uso.
Qual é a diferença entre coreografia e orquestração para sagas?
Coreografia usa eventos onde cada serviço reage a eventos de outros serviços sem um coordenador central. Orquestração usa um orquestrador central de saga que direciona o fluxo chamando cada etapa de serviço. Orquestração fornece melhor observabilidade e depuração enquanto coreografia reduz o acoplamento.
Como lidar com autenticação entre múltiplos microsserviços?
Use o padrão API gateway onde o gateway lida com autenticação e passa o contexto do usuário para os serviços backend. Serviços validam tokens emitidos por um provedor de identidade central. Considere tokens JWT que podem ser validados independentemente por cada serviço sem chamar o serviço de autenticação.
Quais valores de timeout devo usar para chamadas entre serviços?
Siga o padrão de orçamento de timeout: defina o timeout total do cliente, então aloque porções para cada chamada de serviço. Use timeouts agressivos (1-5 segundos) para caminhos críticos e timeouts mais longos (10-30 segundos) para operações que legitimamente demoram mais. Sempre use read timeouts, não apenas connection timeouts.
Como testar microsserviços que dependem uns dos outros?
Use a pirâmide de testes: testes unitários para serviços individuais com dependências mockadas, testes de contrato para verificar compatibilidade de API entre serviços, testes de integração com dependências reais em containers, e testes end-to-end para jornadas críticas de usuário. Considere ferramentas como Pact para testes de contrato.

Detalhes do Desenvolvedor

Estrutura de arquivos

📄 SKILL.md