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?