Proxy는 Forward Proxy, Reverse Proxy로 나뉘어 지는데, API Gateway는 Reverse Proxy입니다. Client로부터 받은 API 요청을 타겟이 되는 API 서버에 전달하고, API 서버로부터 받은 응답을 Client 에게 전달합니다.
API 요청은 HTTP를 통해 이뤄집니다. HTTP는 OSI 7 계층에서 7계층인 Application Layer에 해당하여, API Gateway를 L7 이라 부르기도 합니다.
HTTP 보안을 위해 암복호화 처리를 하게 되는데, 이때 SSL/TLS를 적용한 것이 바로 HTTPS 입니다. 브라우저에서는 URL 창에서 확인할 수 있습니다. 자물쇠가 걸려 있거나 ‘secure’ 문구가 있는 경우 HTTPS, 그렇지 않은 경우 HTTP 입니다. (참고로, 이제 웹 사용시 HTTPS는 필수로 여겨집니다.)
HTTPS는 Client가 Server에 TCP Handshake를 통해 TCP 연결을 맺고, SSL Handshake를 통해 SSL/TLS 연결을 맺는 과정이 필요합니다. 이 과정에서 CPU 연산이 많이 들어가기 때문에 Client 및 Server는 시스템 자원인 CPU를 많이 사용하게 됩니다.
성능 및 부하 테스트가 필요한 이유 (1)
API Gateway는 대량의 트래픽과 SSL/TLS 처리로 인한 자원 소모를 감당하며 병목현상을 방지하기 위해 성능 및 부하 테스트가 필수적입니다.