Categoria: Arquitetura
Em breveIsola o domínio no centro e conecta o mundo externo por portas e adaptadores.
- Problema
- Regra de negócio acoplada a framework, banco e APIs
- Quando usar
- Domínio rico que precisa trocar infraestrutura sem reescrita
36 indicadores · 6 grupos · 12 cruzamentos
Leituras8+padrões de rede
62% atravessam a rede: distribuído, eventos, mensageria
38%do catálogo
5 de 13 padrões marcados como distribuído
5×3largura × profundidade
profundidade máxima em Arquitetura, Dados, Integração
13em 5 órbitas
5 padrões de distribuído nas órbitas externas
5degraus
Código → Resiliência
3,0órbita média
de 5; o peso cai em Dados
4,9categorias efetivas
de 5; 99% de equilíbrio entre as áreas
69%em 3 categorias
Arquitetura, Dados, Integração somam 9 de 13
10de 25 cruzamentos
3 cruzamentos com 2 ou mais padrões
3temas
ddd liga 3 · distribuído liga 3 · eventos liga 2
1componente
10 ligações entre 10 tags, densidade 22%
5temas
tags que não repetem a categoria
4padrões
em 3 categorias: Código, Arquitetura, Dados
4,1temas efetivos
de 5 temas; distribuído e ddd puxam
2tags
mensageria, gof marcam um padrão só
38%de catálogo clássico
5 com ddd ou gof; 8 de mercado
13padrões
5 categorias, até 3 por categoria
13repositórios
todos em github.com/thiagoeti, nome igual ao padrão
5categorias
Código 2 · Arquitetura 3 · Dados 3 · Integração 3 · Resiliência 2
10tags
5 temas e 5 tags de categoria
0/13online
13 repositórios com README em breve
100%dos campos
39 de 39 campos preenchidos
2/2métricas
o declarado em metrics bate com a contagem
2,6×por tag
26 marcações em 10 tags
5famílias
acoplamento lidera com 5 padrões
9caminhos
acoplamento atravessa 3 categorias
3problemas
problemas que citam acoplamento na própria frase
4problemas
problemas que nascem entre serviços
8movimentos
separar resolve 4 de 13
4padrões
citam domínio no problema, no uso ou na solução
3padrões
outbox cita evento na dor e na solução
1,6×mais palavras
a solução detalha mais que a dor
8autores
Richardson lidera com 4 padrões
3padrões
5 cenários reais: pedido, pagamento, estoque, frete, auditoria
4padrões
uso que pede histórico, longa vida ou execução
7palavras
mediana; intervalo de 6 a 11
código → sistema distribuído
5 órbitas
Problema → padrão
13/13Código / Arquitetura / Dados / Integração / Resiliência
13 de 13 padrões
Categoria: Arquitetura
Em breveIsola o domínio no centro e conecta o mundo externo por portas e adaptadores.
Categoria: Arquitetura
Em breveOrganiza o sistema em camadas concêntricas com dependências apontando para o domínio.
Categoria: Arquitetura
Em breveDivide o sistema em serviços pequenos, autônomos e implantados de forma independente.
Categoria: Dados
Em breveSepara o modelo de escrita (commands) do modelo de leitura (queries).
Categoria: Dados
Em brevePersiste cada mudança como evento imutável e reconstrói o estado a partir deles.
Categoria: Dados
Em breveGrava o evento na mesma transação do dado e publica depois, de forma confiável.
Categoria: Integração
Em breveServiços se comunicam publicando e consumindo eventos, sem conhecer uns aos outros.
Categoria: Integração
Em breveCoordena transações distribuídas em passos locais com ações de compensação.
Categoria: Integração
Em breveEntrada única que roteia, agrega e protege as chamadas aos serviços internos.
Categoria: Resiliência
Em breveInterrompe chamadas a um serviço com falha e libera aos poucos após recuperação.
Categoria: Resiliência
Em breveIsola recursos em compartimentos para que a falha de um não afunde os outros.
Categoria: Código
Em breveExpõe a persistência como uma coleção do domínio, escondendo o acesso a dados.
Categoria: Código
Em breveEncapsula algoritmos intercambiáveis atrás de uma mesma interface.
Nenhum padrão com esse filtro.
Ver todos os padrões196 de 196 itens
01 · apps/patterns/
31/31
Coleção original e mais ampla de padrões — mensageria, resiliência, dados, tracing e padrões de OOP clássicos.
Consome AMQP com ack, nack e requeue.
apps/patterns/amqp-message-handler
Aceita agora, entrega o resultado depois.
apps/patterns/async-request-reply
Pools isolados contêm a falha local.
apps/patterns/bulkhead-isolation
Injeta falha controlada e prova resiliência.
apps/patterns/chaos-engineering
Abre o circuito e corta a cascata.
apps/patterns/circuit-breaker
Encapsula a ação como objeto executável.
apps/patterns/command-pattern
Um ID atravessa toda a requisição.
apps/patterns/correlation-tracing
Separa modelo de escrita e de leitura.
apps/patterns/cqrs-pattern
Isola a mensagem que falhou demais.
apps/patterns/dead-letter-queue
Empilha comportamento sem alterar a classe.
apps/patterns/decorator-pattern
Recebe dependências prontas, não as cria.
apps/patterns/dependency-injection
Spans ligam a chamada entre serviços.
apps/patterns/distributed-tracing
Estado reconstruído a partir de eventos.
apps/patterns/event-sourcing
Réplicas convergem para o mesmo estado.
apps/patterns/eventual-consistency
Espera dobra a cada nova tentativa.
apps/patterns/exponential-backoff
Centraliza a criação do objeto certo.
apps/patterns/factory-pattern
Principal falha, a alternativa responde.
apps/patterns/fallback-pattern
Desliga o acessório, mantém o essencial.
apps/patterns/graceful-degradation
Endpoint expõe se o serviço responde.
apps/patterns/health-check-pattern
Mesma chave, efeito aplicado uma vez.
apps/patterns/idempotency-layer
Sujeito notifica todos os inscritos.
apps/patterns/observer-pattern
Evento gravado na transação do dado.
apps/patterns/outbox-pattern
Reusa conexões PostgreSQL sob controle.
apps/patterns/pg-pool-manager
Coordenador central conduz cada etapa.
apps/patterns/process-orchestrator
Token bucket limita requisições por janela.
apps/patterns/rate-limiter
Retry, timeout e breaker numa camada.
apps/patterns/resilience-kit
Repete a chamada em falha transitória.
apps/patterns/retry-pattern
Passos locais com compensação reversa.
apps/patterns/saga-pattern
Uma única instância compartilhada.
apps/patterns/singleton-pattern
Limite de tempo corta a espera.
apps/patterns/timeout-pattern
Prepara todos, confirma por unanimidade.
apps/patterns/two-phase-commit
02 · apps/architecture/
18/18
Forma do sistema inteiro: deploy, fronteiras e dependências.
Uma base, um deploy, um banco.
apps/architecture/monolithic
Um deploy, módulos com fronteiras fortes.
apps/architecture/modular-monolith
Serviços autônomos com deploy independente.
apps/architecture/microservices
Cada time entrega sua fatia da UI.
apps/architecture/micro-frontends
Serviços corporativos integrados por barramento.
apps/architecture/soa
Função sob demanda, escala até zero.
apps/architecture/serverless-faas
Apresentação, negócio e dados empilhados.
apps/architecture/layered-n-tier
Domínio no centro, portas e adaptadores.
apps/architecture/hexagonal
Dependências apontam para o domínio.
apps/architecture/clean
Camadas concêntricas em torno do modelo.
apps/architecture/onion
Contextos delimitados, linguagem ubíqua.
apps/architecture/ddd
Código por funcionalidade, não por camada.
apps/architecture/vertical-slice
Liga e desliga recursos sem deploy.
apps/architecture/feature-flags
Atores isolados trocam mensagens assíncronas.
apps/architecture/actor-model
Células independentes limitam o raio de falha.
apps/architecture/cell-based
Filtros encadeados transformam o fluxo.
apps/architecture/pipes-and-filters
Domínios publicam dados como produto.
apps/architecture/data-mesh
03 · apps/messaging-streaming/
28/28
Canais, roteamento e eventos entre sistemas.
Envia e segue, sem esperar resposta.
apps/messaging-streaming/async-messaging
Um tópico, vários assinantes.
apps/messaging-streaming/pub-sub
Pergunta e aguarda a resposta.
apps/messaging-streaming/request-response
Uma fila, um único consumidor por mensagem.
apps/messaging-streaming/point-to-point
Mensagem venenosa sai do fluxo principal.
apps/messaging-streaming/dead-letter-queue
Roteia pelo conteúdo ou cabeçalho.
apps/messaging-streaming/message-routing
Intermediário desacopla produtor e consumidor.
apps/messaging-streaming/message-broker
Urgente passa à frente da fila.
apps/messaging-streaming/priority-queue
Quebra um lote em mensagens unitárias.
apps/messaging-streaming/splitter
Junta partes relacionadas numa só.
apps/messaging-streaming/aggregator
Completa a mensagem com dado externo.
apps/messaging-streaming/content-enricher
Remove campos que o destino não usa.
apps/messaging-streaming/content-filter
Formatos diversos viram um modelo canônico.
apps/messaging-streaming/normalizer
Itinerário viaja dentro da mensagem.
apps/messaging-streaming/routing-slip
Canal de comando gerencia o fluxo.
apps/messaging-streaming/control-bus
Mensagem carrega por onde passou.
apps/messaging-streaming/message-history
Copia o tráfego sem interferir.
apps/messaging-streaming/wire-tap
Reordena mensagens fora de sequência.
apps/messaging-streaming/resequencer
Dispara para muitos, consolida respostas.
apps/messaging-streaming/scatter-gather
Log particionado, retido e reprocessável.
apps/messaging-streaming/event-streaming
Avisa o fato, consumidor busca o detalhe.
apps/messaging-streaming/event-notification
Evento leva o estado completo.
apps/messaging-streaming/event-carried-state-transfer
Serviços cooperam reagindo a eventos.
apps/messaging-streaming/event-collaboration
Um alerta sai em e-mail, SMS e push.
apps/messaging-streaming/sns-multi-channel-alerts
Tópico replica em filas independentes.
apps/messaging-streaming/sns-sqs-fanout-notifications
Ordem e deduplicação por conta.
apps/messaging-streaming/sqs-fifo-bank-transfer
Pedidos com retry e DLQ.
apps/messaging-streaming/sqs-order-processor
04 · apps/data-patterns/
25/25
Consistência, histórico e acesso a dados.
Comandos e consultas em modelos separados.
apps/data-patterns/cqrs
Log de eventos é a fonte da verdade.
apps/data-patterns/event-sourcing
Publicação confiável a partir do banco.
apps/data-patterns/outbox-pattern
Deduplica mensagens na entrada.
apps/data-patterns/inbox-pattern
Cada serviço dono do seu banco.
apps/data-patterns/database-per-service
Banco compartilhado acopla os serviços.
apps/data-patterns/shared-database
Escrita no primário, leitura nas réplicas.
apps/data-patterns/read-replicas
Consulta pré-calculada, pronta para leitura.
apps/data-patterns/materialized-view
Captura mudanças direto do log do banco.
apps/data-patterns/change-data-capture
Foto do estado encurta o replay.
apps/data-patterns/snapshot-pattern
Tempo válido e tempo de registro.
apps/data-patterns/temporal-tables
Tabela dividida por faixa de data.
apps/data-patterns/partition-table
Coreografia ou orquestração com compensação.
apps/data-patterns/saga-pattern
Commit atômico entre participantes.
apps/data-patterns/two-phase-commit
Consistência alcançada com o tempo.
apps/data-patterns/eventual-consistency
Chave única impede efeito duplicado.
apps/data-patterns/idempotency-pattern
Ordem por grupo, grupos em paralelo.
apps/data-patterns/sequential-convoy
Payload no storage, ticket na fila.
apps/data-patterns/claim-check
Liga RabbitMQ e Kafka nos dois sentidos.
apps/data-patterns/messaging-bridge
Objeto que se salva ou mapeador dedicado.
apps/data-patterns/data-access-styles
Agenda, executa e recupera tarefas.
apps/data-patterns/scheduler-agent-supervisor
Nova versão sem alterar a anterior.
apps/data-patterns/persistent-data-structure
Versão otimista ou trava pessimista.
apps/data-patterns/offline-locking
Fechamento de posição em lote no fim do dia.
apps/data-patterns/batch-processing
Índice invertido para busca textual.
apps/data-patterns/search-index
05 · apps/resiliency/
10/10
Falha contida, serviço de pé.
Fechado, aberto, meio-aberto.
apps/resiliency/circuit-breaker
Tentativas com espera crescente.
apps/resiliency/retry-pattern
Corta chamadas que passam do prazo.
apps/resiliency/timeout-pattern
Resposta alternativa quando o principal falha.
apps/resiliency/fallback-pattern
Compartimentos evitam o naufrágio total.
apps/resiliency/bulkhead-pattern
Monitor sonda o endpoint de saúde.
apps/resiliency/health-check
Rejeita o excesso acima da cota.
apps/resiliency/rate-limiting
Perde recursos, não perde o serviço.
apps/resiliency/graceful-degradation
Experimentos de falha em produção.
apps/resiliency/chaos-engineering
Auto-limita chamadas de saída.
apps/resiliency/throttling
06 · apps/api/
11/11
Contratos, bordas e integração entre sistemas.
Um backend sob medida por cliente.
apps/api/bff
Tradutor protege o domínio do legado.
apps/api/anti-corruption-layer
Novo substitui o legado aos poucos.
apps/api/strangler-fig
Proxies cuidam do tráfego entre serviços.
apps/api/service-mesh
Subgrafos compõem um único schema.
apps/api/graphql-federation
v1 e v2 convivem sem quebrar clientes.
apps/api/api-versioning
Extrai dados do HTML quando não há API.
apps/api/html-scraping
Expõe ferramentas a agentes de IA.
apps/api/mcp-server
07 · apps/observability/
10/10
Traces, métricas e logs que explicam produção.
Trace da requisição ponta a ponta.
apps/observability/distributed-tracing
Logs de todos os serviços num lugar.
apps/observability/log-aggregation
ID único liga logs da mesma requisição.
apps/observability/correlation-id
Liveness e readiness por endpoint.
apps/observability/health-check-endpoint
Indicador, meta e contrato de serviço.
apps/observability/metrics-sli-slo-sla
Contêiner auxiliar ao lado da aplicação.
apps/observability/sidecar
Proxy local fala com o mundo externo.
apps/observability/ambassador
Três sinais OTel num backend.
apps/observability/openobserve
Prompt, custo e latência de LLM.
apps/observability/llm-observability
Traces, métricas e logs num painel.
apps/observability/signoz
08 · apps/scalability/
11/11
Carga distribuída, deploy sem parada.
Distribui requisições entre instâncias.
apps/scalability/load-balancing
Hit no cache, miss no banco.
apps/scalability/caching
Dados divididos por chave de partição.
apps/scalability/sharding-partitioning
Registro encontra instâncias vivas.
apps/scalability/service-discovery
Troca instantânea entre dois ambientes.
apps/scalability/blue-green-deployment
Nova versão recebe tráfego aos poucos.
apps/scalability/canary-deployment
Chave em runtime ativa o recurso.
apps/scalability/feature-toggle
Um nó eleito coordena o cluster.
apps/scalability/leader-election
Fila absorve picos de carga.
apps/scalability/queue-load-leveling
Usuário atendido pela região mais próxima.
apps/scalability/geode
09 · apps/security/
10/10
Identidade, segredos e trilha auditável.
Cada transferência deixa trilha auditável.
apps/security/bank-transaction-audit
Registro imutável de quem fez o quê.
apps/security/audit-log
Token assinado prova a identidade.
apps/security/token-auth
Emite, rotaciona e revoga chaves.
apps/security/api-key-management
Nunca confia, sempre verifica.
apps/security/zero-trust
Segredo no cofre, nunca no código.
apps/security/secrets-management
Só as pontas leem a mensagem.
apps/security/e2e-encryption
Host dedicado valida antes de liberar.
apps/security/gatekeeper
Login delegado a um provedor externo.
apps/security/federated-identity
10 · apps/service-design/
18/18
Estrutura interna de serviços e objetos.
Capacidade transversal fora do serviço.
apps/service-design/sidecar
Cliente remoto encapsulado em proxy.
apps/service-design/ambassador
Padroniza interfaces heterogêneas.
apps/service-design/adapter
Núcleo mínimo estendido por plugins.
apps/service-design/microkernel
Eventos livres ou maestro central.
apps/service-design/choreography-vs-orchestration
Requisição como objeto, com desfazer.
apps/service-design/command-pattern
Consulta montada como objeto.
apps/service-design/query-object-pattern
Algoritmos trocáveis por uma interface.
apps/service-design/strategy-pattern
Handlers passam adiante até um tratar.
apps/service-design/chain-of-responsibility
Regras de negócio combináveis.
apps/service-design/specification-pattern
Monta objeto complexo passo a passo.
apps/service-design/builder-pattern
Componentes falam por um mediador.
apps/service-design/mediator-pattern
Parte e todo tratados igual.
apps/service-design/composite-pattern
Abstração e implementação evoluem separadas.
apps/service-design/bridge-pattern
Objeto neutro no lugar do nulo.
apps/service-design/special-case
Um procedimento por operação de negócio.
apps/service-design/transaction-script
Comportamento muda com o estado.
apps/service-design/state-pattern
11 · apps/front/
2/2
Renderização no servidor e no cliente.
SSR Astro servido por Bun em contêiner.
Astro output: server + @astrojs/node standalone + Docker
apps/front/astro-bun-app
Server e Client Components lado a lado.
Next.js: Server Component, Client Component e API Route, com Tailwind
apps/front/next-app-router
12 · apps/infrastructure/
5/5
Um projeto por tecnologia: cada um sobe a tecnologia real em container e a exercita com um cenário financeiro. Sem docker-compose.yml — um único docker.sh com docker run puro cria a rede, sobe os containers, roda cada etapa e limpa tudo (up, etapas, down).
Busca vetorial antifraude (k-NN sobre transações)
apps/infrastructure/qdrant
Liquidação de pagamentos com DLQ e prefetch
apps/infrastructure/rabbitmq
Distribuição de cotações de câmbio sem broker
apps/infrastructure/zeromq
Análise estática de um serviço de transferências
apps/infrastructure/sonarqube
13
17/17
Esta seção lista tecnologias mencionadas ou simuladas nos exemplos acima (ex: SQS/SNS em apps/messaging-streaming/), não projetos independentes — não possui coluna de caminho.
Nenhum item com essa busca.