DEV Community

Isaac Alves Pinheiro
Isaac Alves Pinheiro

Posted on

API Gateway

Um API Gateway (AG) é um servidor/padrão arquitetural para sistemas distribuídos que consiste e atua como um único ponto de entrada para as chamadas de API de um conjunto de microsserviços. Ele é responsável por receber as solicitações do cliente, as encaminha para o serviço ou microsserviço apropriado e, em seguida, retornar as respostas do servidor ao cliente (modelo cliente-servidor). Algumas das principais funcionalidades comuns de um AG são: roteamento, balanceamento de carga, autenticação, autorização e transformação dos dados.

O AG é responsável por tarefas como roteamento, autenticação e limitação de taxa. Isso permite que os microsserviços se concentrem em suas tarefas individuais e melhorem o desempenho geral e a escalabilidade do sistema.

Aqui estão os principais usos do AG:

  • 𝗥𝗼𝘂𝘁𝗶𝗻𝗴: O AG recebe solicitações de clientes e as encaminha para o microsserviço apropriado. Isso permite que os clientes acessem os vários microsserviços por meio de um único ponto de entrada, simplificando o design geral do sistema.

  • 𝗦𝗲𝗰𝘂𝗿𝗶𝘁𝘆: O AG pode ser usado para autenticar clientes e aplicar políticas de controle de acesso para os microsserviços. Isso ajuda a garantir que apenas clientes autorizados possam acessar os microsserviços e ajuda a evitar o acesso não autorizado.

  • 𝐓𝐫𝐚𝐧𝐬𝐟𝐨𝐫𝐦𝗶𝗻𝗴 𝐫𝐞𝐪𝐮𝐞𝐬𝐭𝐬 𝐚𝐧𝐝 𝐫𝐞𝐬𝐩𝐨𝐧𝐬𝐞𝐬: AG pode transformar solicitações de entrada e respostas de saída para e para o back -end para atender às necessidades de diferentes clientes ou cumprir diferentes arquiteturas de back -end.

  • 𝗥𝗮𝘁𝗲 𝗹𝗶𝗺𝗶𝘁𝗶𝗻𝗴: Você pode limitar o acesso do cliente a microsserviços com um AG. Isso pode ajudar a evitar ataques de negação de serviço e outros tipos de comportamento mal-intencionado.

  • 𝗟𝗼𝗮𝗱 𝗯𝗮𝗹𝗮𝗻𝗰𝗶𝗻𝗴: O AG pode distribuir solicitações recebidas entre várias instâncias de um microsserviço, permitindo que o sistema lide com um número maior de solicitações e melhorando seu desempenho geral e escalabilidade.

  • 𝗖𝗮𝗰𝗵𝗶𝗻𝗴: O AG pode armazenar em cache as respostas dos microsserviços, reduzindo o número de solicitações que precisam ser encaminhadas aos microsserviços e melhorando o desempenho geral do sistema.

  • 𝗦𝗲𝗿𝘃𝗲𝗿𝗹𝗲𝘀𝘀 𝗲𝘅𝗲𝗰𝘂𝘁𝗶𝗼𝗻: AG pode se integrar a outros serviços, como AWS Lambda, para habilitar arquiteturas sem servidor e possibilitar o processamento complexo de solicitações sem a necessidade de um servidor dedicado.

  • 𝗖𝗶𝗿𝗰𝘂𝗶𝘁 𝗯𝗿𝗲𝗮𝗸𝗲𝗿: AG pode ser usado para implementar padrões de disjuntores, o que pode ajudar a proteger contra falhas em cascata e melhorar a resiliência do seu sistema.

  • 𝗥𝗲𝘃𝗲𝗿𝘀𝗲 𝗽𝗿𝗼𝘅𝘆: o AG pode atuar como um proxy reverso, roteando as solicitações recebidas para o serviço de back-end apropriado com base no caminho da solicitação ou em outros critérios.

  • 𝗔𝗣𝗜 𝘃𝗲𝗿𝘀𝗶𝗼𝗻𝗶𝗻𝗴: AG pode ser usado para implementar versionamento de API, permitindo manter várias versões de uma API e gerenciar a transição de uma versão para outra.

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

Top comments (0)

Heroku

Simplify your DevOps and maximize your time.

Since 2007, Heroku has been the go-to platform for developers as it monitors uptime, performance, and infrastructure concerns, allowing you to focus on writing code.

Learn More

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay