gateway

An API Gateway acts as a single entry point for clients accessing multiple backend microservices, handling requests, routing them to appropriate services, and a...

Um [API Gateway](/pt/terms/api-gateway) é um servidor que atua como ponto de entrada para todas as requisições de clientes aos serviços de backend. Ele fica entre as aplicações cliente e os microsserviços ou o backend monolítico, abstraindo a arquitetura subjacente e simplificando as interações do cliente. As funções primárias de um API Gateway incluem roteamento de requisições, transformação de requisições/respostas, autenticação e autorização, limitação de taxa (rate limiting), cache, log e monitoramento. Ao centralizar essas preocupações transversais, o gateway evita que elas sejam duplicadas em múltiplos serviços de backend, levando a um código mais limpo e de fácil manutenção. O roteamento de requisições direciona as chamadas de API recebidas para o serviço de backend apropriado com base no caminho da requisição, cabeçalhos ou outros critérios. A transformação permite que o gateway modifique requisições ou respostas, por exemplo, alterando formatos de dados (ex: XML para JSON) ou agregando dados de múltiplos serviços. A segurança é um aspecto crítico; o gateway pode lidar com autenticação (verificando a identidade do cliente) e autorização (determinando se o cliente tem permissão para acessar o recurso solicitado), muitas vezes integrando-se com provedores de identidade ou serviços de validação de tokens. A limitação de taxa protege os serviços de backend de serem sobrecarregados por muitas requisições, enquanto o cache pode melhorar o desempenho servindo dados frequentemente solicitados diretamente do gateway. Este padrão arquitetural é particularmente prevalente em arquiteturas de microsserviços, onde ajuda a gerenciar a complexidade de numerosos serviços distribuídos.

        graph LR
  Center["gateway"]:::main
  Rel_load_balancer["load-balancer"]:::related -.-> Center
  click Rel_load_balancer "/terms/load-balancer"
  Rel_internet_of_things_iot["internet-of-things-iot"]:::related -.-> Center
  click Rel_internet_of_things_iot "/terms/internet-of-things-iot"
  Rel_grid_computing["grid-computing"]:::related -.-> Center
  click Rel_grid_computing "/terms/grid-computing"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧠 Teste de conhecimento

1 / 1

🧒 Explique como se eu tivesse 5 anos

Um [[API](/pt/terms/api) Gateway](/pt/terms/api-gateway) é como uma recepcionista prestativa para um grande prédio de escritórios; ela direciona os visitantes (as requisições do seu aplicativo) para o departamento certo (serviço de backend) e garante que apenas pessoas autorizadas entrem, sem que o visitante precise conhecer a planta interna.

🤓 Expert Deep Dive

O padrão [API Gateway](/pt/terms/api-gateway) aborda os desafios de gerenciar sistemas distribuídos, particularmente microsserviços, fornecendo uma interface única e unificada para os clientes. Considerações arquiteturais chave incluem a escolha entre um gateway centralizado (ponto de entrada único) versus descentralizado (gateways por serviço ou por domínio). Gateways centralizados simplificam as interações do cliente e aplicam políticas consistentes, mas podem se tornar um gargalo e um ponto único de falha. Gateways descentralizados oferecem melhor escalabilidade e isolamento de falhas, mas podem levar à duplicação de políticas. Padrões de implementação comuns incluem o padrão Backend For Frontend (BFF), onde gateways especializados atendem às necessidades específicas de diferentes tipos de clientes (ex: mobile, web). O papel do gateway na tradução de protocolos (ex: REST para gRPC) e agregação de requisições é crucial para desacoplar clientes da evolução dos serviços de backend. Implicações de desempenho surgem do salto de rede adicional e sobrecarga de processamento, necessitando de roteamento eficiente, cache e processamento assíncrono potencial. A aplicação de segurança no nível do gateway, como validação de JWT ou introspecção de token OAuth 2.0, é uma prática de segurança essencial.

📚 Fontes