Arquitetura de Software
05/05/2026
Ubiquitous Language — ou Linguagem Ubíqua — é o vocabulário compartilhado entre especialistas de domínio e desenvolvedores, utilizado de forma consistente em todas as conversas, documentação e código-fonte de um sistema. Não se trata de um simples glossário técnico, mas de uma linguagem viva que reflete o modelo mental do domínio.
Arquitetura de Software
05/05/2026
Em arquiteturas de microsserviços, os serviços precisam se comunicar entre si para processar requisições. Em um ambiente dinâmico, onde instâncias são criadas e destruídas constantemente (escalonamento horizontal, falhas, deploys), saber onde cada serviço está executando é um problema central. Service discovery é o mecanismo que permite localizar dinamicamente os endereços de rede de serviços disponíveis, sem depender de configurações estáticas.
Arquitetura de Software
05/05/2026
Sharding é a técnica de particionar horizontalmente um banco de dados em múltiplos fragmentos independentes chamados shards. Cada shard contém um subconjunto dos dados e opera como um banco de dados separado. A motivação principal é superar as limitações de escalabilidade vertical — quando um único servidor não consegue mais lidar com o volume de dados ou o throughput de operações.
Arquitetura de Software
05/05/2026
O Shared Kernel é um padrão de mapeamento de contextos (Context Mapping) do Domain-Driven Design que define um subconjunto compartilhado do modelo de domínio entre dois ou mais bounded contexts. Diferentemente de outros padrões de integração, o Shared Kernel pressupõe que o acoplamento é não apenas aceitável, mas desejável — desde que seja explícito, controlado e limitado a um núcleo semanticamente estável.
Arquitetura de Software
05/05/2026
O padrão Strangler Fig foi inspirado no comportamento de uma figueira estranguladora, que cresce ao redor de uma árvore hospedeira, gradualmente a envolvendo e substituindo. Na arquitetura de software, o padrão propõe uma migração incremental de um sistema monolítico para microsserviços, substituindo funcionalidades antigas por novas implementações até que o monólito original seja completamente "estrangulado".
Arquitetura de Software
05/05/2026
Em arquiteturas orientadas a eventos, produtores e consumidores evoluem de forma independente. Sem governança, um produtor pode alterar o formato de um evento sem aviso, quebrando consumidores downstream. O cenário típico de falha:
Arquitetura de Software
05/05/2026
No contexto da Arquitetura de Software, o termo Serverless não significa ausência de servidores, mas sim a abstração completa do gerenciamento de infraestrutura. O desenvolvedor se concentra exclusivamente no código da aplicação, enquanto o provedor de nuvem provisiona, escala e mantém os servidores automaticamente.
Arquitetura de Software
05/05/2026
O Repository Pattern é um dos pilares do Domain-Driven Design (DDD) proposto por Eric Evans. Seu propósito fundamental é fornecer uma abstração de persistência que permita ao domínio operar sem conhecer os detalhes de como os dados são armazenados e recuperados. O Repository atua como uma "coleção em memória" de objetos de domínio, escondendo a complexidade do armazenamento subjacente.
Arquitetura de Software
05/05/2026
Em sistemas distribuídos, falhas são inevitáveis. Uma requisição pode falhar por timeout de rede, concorrência em banco de dados, reinicialização temporária de um serviço ou pico de carga. Essas são falhas transitórias — tendem a desaparecer após curto intervalo. Já falhas permanentes (como recurso inexistente ou permissão negada) não são resolvidas com repetição.