Para lidar com a arquitetura de microsserviço, geralmente é usado junto com um proxy reverso (como nginx ou apache httpd) e, para questões transversais, o padrão de gateway de implementação de API é usado . Às vezes, o proxy reverso faz o trabalho do gateway de API.
Será bom ver diferenças claras entre essas duas abordagens. Parece que o benefício potencial do uso do gateway de API é invocar vários microsserviços e agregar os resultados. Todas as outras responsabilidades do gateway de API podem ser implementadas usando o proxy reverso. Como:
- Autenticação (pode ser feita usando scripts nginx LUA);
- Segurança de transporte. É a própria tarefa de proxy reverso;
- Balanceamento de carga
- ....
Portanto, com base nisso, existem várias perguntas:
- Faz sentido usar o gateway de API e o proxy reverso simultaneamente (por exemplo, solicitação-> gateway da API-> proxy reverso (nginx) -> mictoservice concreto)? Em quais casos?
- Quais são as outras diferenças que podem ser implementadas usando o gateway de API e não podem ser implementadas pelo proxy reverso e vice-versa?
fonte
Acredito que o API Gateway é um proxy reverso que pode ser configurado dinamicamente via API e potencialmente via UI, enquanto o proxy reverso tradicional (como Nginx, HAProxy ou Apache) é configurado via arquivo de configuração e deve ser reiniciado quando a configuração muda. Portanto, o API Gateway deve ser usado quando as regras de roteamento ou outras configurações mudam com frequência. Para suas perguntas:
Além disso, o API Gateway é frequentemente fornecido na forma de SAAS, como Apigee ou Tyk, por exemplo.
Além disso, aqui está meu tutorial sobre como criar um gateway de API simples com Node.js https://memz.co/api-gateway-microservices-docker-node-js/
Espero que ajude.
fonte
Gateways API geralmente operam como uma construção L7.
Os Gateways API fornecem funcionalidade adicional em comparação com um proxy reverso simples. Se você considerar alguns dos portais por aí, eles podem fornecer:
No entanto, com o advento de malhas de serviço como o Istio, muitas das funcionalidades dos Gateways de API do Consul serão englobadas por malhas.
fonte