Arquitetura de Microsserviços

Compartilhado por um usuário do Flashcards.gg · gerado com IA · Denunciar este conjunto

Estude os conceitos fundamentais de arquitetura de microsserviços, padrões de design e comunicação entre serviços. Este conjunto é ideal para desenvolvedores e arquitetos de software.

60 cartões Português Nível: Avançado Outros de tecnologia Publicado
Toque no cartão para virar

Cartões · 60

Microsserviço
Unidade de software autônoma e especializada em um domínio de negócio, implantada e escalada de forma independente.
Monolito
Padrão arquitetural tradicional onde todos os módulos e funcionalidades do sistema são empacotados e executados em uma única aplicação unificada.
Acoplamento Fraco (Loose Coupling)
Princípio de design onde os serviços dependem minimamente uns dos outros, permitindo mudanças isoladas sem afetar outros componentes.
Alta Coesão (High Cohesion)
Princípio em que cada microsserviço concentra apenas tarefas e dados estritamente relacionados a uma única responsabilidade funcional.
Bounded Context (Contexto Delimitado)
Conceito do DDD que delimita fronteiras claras de domínio onde regras de negócio e modelos de dados específicos são aplicados.
Domain-Driven Design (DDD)
Abordagem de modelagem de software focada na lógica de negócio e no domínio, crucial para mapear os limites de cada microsserviço.
Database-per-Service
Padrão no qual cada microsserviço possui seu próprio banco de dados isolado, impedindo o acesso direto por outros serviços.
Shared Database Anti-Pattern
Prática desencorajada de múltiplos serviços acessarem a mesma base de dados, gerando alto acoplamento e gargalos operacionais.
API Gateway
Ponto de entrada único para clientes externos que gerencia roteamento, autenticação, limitação de taxa e balanceamento de carga.
BFF (Backend for Frontend)
Padrão de API Gateway dedicado a atender as necessidades específicas de uma única interface, como web ou mobile.
Service Discovery (Descoberta de Serviços)
Mecanismo dinâmico para registrar e localizar endereços de instâncias de microsserviços ativas na rede.
Client-Side Discovery
Padrão no qual o cliente consulta o registro de serviços e decide autonomamente para qual instância enviar a requisição.
Server-Side Discovery
Padrão onde o cliente envia requisições a um roteador ou load balancer, que consulta o registro e encaminha para a instância.
Comunicação Síncrona
Troca de mensagens onde o emissor aguarda a resposta imediata do receptor antes de continuar sua execução, como via HTTP/REST.
Comunicação Assíncrona
Envio de mensagens ou eventos sem esperar resposta imediata, desacoplando o tempo de processamento entre serviços.
REST (Representational State Transfer)
Estilo de arquitetura de rede síncrono baseado nos verbos e recursos do protocolo HTTP para interoperabilidade.
gRPC
Framework RPC de alto desempenho desenvolvido pelo Google que usa HTTP/2 e Protocol Buffers para comunicação rápida entre serviços.
Message Broker
Intermediário de infraestrutura que recebe, armazena e entrega mensagens de forma confiável entre microsserviços.
Arquitetura Orientada a Eventos (EDA)
Paradigma no qual serviços reagem a acontecimentos notificados de forma assíncrona, promovendo máximo desacoplamento.
Event Sourcing
Padrão onde cada mudança de estado da aplicação é persistida sequencialmente como uma série imutável de eventos.
CQRS (Command Query Responsibility Segregation)
Separação de operações de leitura (queries) e de escrita (commands) em modelos ou bancos de dados distintos para otimizar desempenho.
Saga Pattern
Mecanismo para gerenciar transações distribuídas como uma sequência de transações locais em múltiplos serviços.
Saga por Coreografia
Abordagem da Saga onde cada serviço publica e reage a eventos dos demais participantes sem um controlador central.
Saga por Orquestração
Abordagem da Saga onde um serviço coordenador centralizado comanda explicitamente a execução de cada transação local.
Transação Compensatória
Ação executada para reverter ou neutralizar os efeitos de uma transação anterior caso uma etapa posterior da Saga falhe.
Consistência Eventual
Modelo teórico onde os dados distribuídos convergem para o mesmo estado final após determinado tempo sem novas alterações.
Teorema CAP
Princípio segundo o qual um sistema distribuído só pode garantir dois de três atributos: Consistência, Disponibilidade e Tolerância a Partições.
Circuit Breaker
Padrão de resiliência que interrompe chamadas a um serviço com falhas repetidas para evitar colapso em cascata.
Retry Pattern com Backoff Exponencial
Estratégia de tentar reenviar chamadas com falha temporária aumentando progressivamente o intervalo entre as tentativas.
Bulkhead (Antepara)
Isolamento de pools de recursos como threads ou memórias para que a falha de um componente não derrube todo o sistema.
Timeout Pattern
Limite máximo de tempo de espera por uma resposta de rede, liberando recursos bloqueados caso o tempo expire.
Fallback
Resposta alternativa ou degradada pré-configurada retornada ao usuário quando um serviço downstream falha.
Strangler Fig Pattern (Padrão Estrangulador)
Estratégia de migração gradual que substitui funcionalidades de um sistema monolítico por microsserviços aos poucos.
Idempotência
Propriedade de uma operação que garante o mesmo resultado independentemente de ser executada uma ou múltiplas vezes consecutivas.
Contêiner (ex: Docker)
Ambiente de virtualização a nível de sistema operacional que empacota o código e dependências de um microsserviço de forma isolada.
Orquestrador de Contêineres (ex: Kubernetes)
Plataforma automatizada que gerencia o ciclo de vida, implantação, escalonamento e rede de múltiplos contêineres.
Service Mesh (Malha de Serviços)
Camada de infraestrutura dedicada a gerenciar e proteger a comunicação direta e segura de rede serviço a serviço.
Sidecar Pattern
Padrão de implantação que executa um processo auxiliar acoplado ao contêiner principal para lidar com tarefas secundárias.
Distributed Tracing (Rastreamento Distribuído)
Monitoramento que mapeia e correlaciona todo o caminho percorrido por uma requisição através de múltiplos microsserviços.
Correlation ID (Trace ID)
Identificador exclusivo propagado nos cabeçalhos das requisições para rastrear um fluxo específico através de vários serviços.
Log Centralizado
Prática de coletar, agregar e indexar logs de todos os microsserviços em uma única plataforma para auditoria e depuração.
Health Check API
Endpoints padronizados como /healthz que informam o estado de funcionamento operacional de um microsserviço ao orquestrador.
Chaos Engineering
Disciplina que injeta falhas controladas no ambiente de produção para validar a robustez e resiliência dos microsserviços.
Externalized Configuration (Configuração Externa)
Separação de parâmetros e variáveis de ambiente do código-fonte para permitir alterações sem recompilar o serviço.
Blue-Green Deployment
Técnica de implantação com dois ambientes idênticos onde o tráfego é alternado instantaneamente para a versão atualizada.
Canary Deployment
Liberação gradual de uma nova versão para uma fração pequena de usuários visando detectar erros antes do lançamento total.
Contratos de API (Contract Testing)
Testes que verificam se produtores e consumidores de uma API respeitam um acordo formal de estrutura de dados pré-definido.
Dead Letter Queue (DLQ)
Fila especial de mensagens rejeitadas ou que falharam repetidamente no processamento, reservadas para análise e intervenção.
Lei de Conway
Teorema que afirma que a estrutura dos sistemas de software reflete diretamente a estrutura de comunicação da organização.
Dois Tipos de Escalabilidade (Vertical vs Horizontal)
Aumentar poder computacional de uma máquina (vertical) versus adicionar mais instâncias do microsserviço (horizontal).
Transactional Outbox Pattern
Padrão de persistência que salva alterações de negócio e eventos pendentes na mesma transação de banco de dados, garantindo publicação confiável.
Change Data Capture (CDC)
Técnica que monitora e captura alterações em nível de log de transações do banco de dados para propagá-las como eventos para outros sistemas.
Rate Limiting
Mecanismo de controle de tráfego que restringe o número de requisições permitidas a um serviço em um determinado intervalo de tempo.
Anti-Corruption Layer (ACL)
Camada de tradução que protege o modelo de domínio de um microsserviço contra conceitos legados ou incompatíveis de sistemas externos.
Log Compaction
Mecanismo em brokers como Kafka que retém apenas o valor mais recente para cada chave, economizando espaço e facilitando restaurações de estado.
Semantic Versioning (SemVer)
Convenção de versionamento de software e APIs (MAJOR.MINOR.PATCH) utilizada para indicar compatibilidade e evitar quebras de contrato entre serviços.
Mutual TLS (mTLS)
Protocolo de segurança onde cliente e servidor autenticam mutuamente suas identidades digitais antes de estabelecer uma comunicação criptografada.
Feature Toggle (Feature Flag)
Técnica que permite habilitar ou desabilitar funcionalidades em tempo de execução sem a necessidade de realizar um novo deploy.
Ambassador Pattern
Padrão que cria um serviço auxiliar out-of-process responsável por tarefas de conectividade e roteamento de rede em nome do serviço principal.
Backpressure
Mecanismo de controle de fluxo no qual um consumidor sobrecarregado sinaliza ao produtor para diminuir o envio de dados e evitar falhas por esgotamento.

Conjuntos relacionados

Mais em Outros de tecnologia →