Arquitetura de Software e Sistemas Distribuídos
05/05/2026
Event Storming é uma técnica de modelagem colaborativa criada por Alberto Brandolini, originalmente concebida para acelerar a compreensão de domínios complexos. Diferente de abordagens tradicionais que partem de diagramas estáticos, o Event Storming reúne especialistas de negócio e desenvolvedores em uma sala (física ou virtual) para mapear, em tempo real, todos os eventos que ocorrem no domínio. A técnica utiliza post-its coloridos, cada cor representando um elemento do modelo: eventos (laranja
Arquitetura de Software e Sistemas Distribuídos
05/05/2026
Corrupção de domínio ocorre quando conceitos, regras e estruturas de dados de um sistema legado contaminam o modelo de domínio de um novo sistema. Imagine que você está construindo uma plataforma moderna de e-commerce, mas precisa integrar com um sistema legado de estoque que usa campos como STATUS_ITEM com valores como "A", "I", "P". Se esses códigos misteriosos aparecerem no seu domínio limpo, você tem corrupção.
Arquitetura de Software e Sistemas Distribuídos
05/05/2026
O padrão bulkhead, também conhecido como compartimentação, tem sua origem na engenharia naval, onde navios são divididos em compartimentos estanques para evitar que uma avaria em uma área inunde todo o navio. No desenvolvimento de software, esse princípio é aplicado para isolar componentes de um sistema, garantindo que uma falha em um módulo não se propague para outros módulos.
Arquitetura de Software e Sistemas Distribuídos
05/05/2026
O padrão competing consumers é uma arquitetura de mensageria onde múltiplos consumidores competem por mensagens em uma mesma fila, garantindo que cada mensagem seja processada por exatamente um consumidor. O objetivo principal é balancear a carga de trabalho entre consumidores concorrentes, permitindo processamento paralelo e escalabilidade horizontal.
Arquitetura de Software e Sistemas Distribuídos
05/05/2026
O padrão CQRS (Command Query Responsibility Segregation) propõe a separação explícita entre operações que modificam o estado do sistema (Commands) e operações que apenas leem dados (Queries). Em vez de usar um único modelo de dados para leitura e escrita, como ocorre em arquiteturas tradicionais, o CQRS sugere modelos distintos e otimizados para cada finalidade.
Arquitetura de Software e Sistemas Distribuídos
05/05/2026
O padrão hexagonal, também conhecido como Ports and Adapters, foi introduzido por Alistair Cockburn em 2005 como uma resposta ao acoplamento excessivo entre lógica de negócio e infraestrutura. Sua motivação central é permitir que o domínio da aplicação seja testado, evoluído e mantido independentemente de tecnologias externas como bancos de dados, frameworks web ou serviços de terceiros.
Arquitetura de Software e Sistemas Distribuídos
05/05/2026
O padrão priority queue em sistemas distribuídos consiste em filas que organizam mensagens por níveis de urgência, onde cada elemento recebe um valor de prioridade que determina sua posição de processamento. Diferente de filas FIFO tradicionais, as priority queues ordenam as mensagens de forma que as de maior prioridade sejam consumidas primeiro, independentemente da ordem de chegada.
Arquitetura de Software e Sistemas Distribuídos
05/05/2026
O padrão Strangler Fig (figueira-estranguladora) tem sua origem na natureza: uma espécie de figueira que cresce ao redor de uma árvore hospedeira, gradualmente substituindo seu sistema de suporte até que a árvore original morra, deixando apenas a figueira em seu lugar. Na engenharia de software, esse padrão descreve uma estratégia de migração incremental onde um sistema legado é progressivamente substituído por um novo sistema, sem interrupção do serviço.
Arquitetura de Software e Sistemas Distribuídos
05/05/2026
O protocolo two-phase commit (2PC) é a base para garantir atomicidade em transações distribuídas que envolvem múltiplos recursos. Em sistemas críticos — como processamento financeiro, controle de estoque ou sistemas de saúde — a consistência dos dados não pode ser negociada.