정부에서 제공하는 백신 접종 사전예약시스템이 트래픽을 감당하지 못하여 서비스가 원활하지 못하다는 보도를 접하면서, 잠시 이 사태를 API Gateway 관점에서 생각하게 됩니다. 대체 어떤 API 게이트웨이를 사용했을까 무척 궁금해집니다.
모든 API Gateway는 기본적으로 네트워크에서 호출되는 트래픽을 감당할 수 있도록 설계되어 있고, 어떻게 고가용성 (HA, High Availability)를 보장하는가에 따라서 제품의 성능이 결정될 만큼 중요한 요소입니다. 따라서, API Gateway의 사용주체는 자신들의 서비스에 대한 가상 시나리오에 적절히 대응할 수 있는 제품을 구매하는 것이 필수입니다. 이 부분은 엔지니어의 판단이라기 보다는 사용자측, 즉 서비스 도메인 전문가의 판단이 더 중요합니다.
Tyk API Gateway는 이러한 상황에 대처하기에 아주 편리한 접근제어체계를 제공합니다.
1. Rate Limiting - 하나의 key 값에 대하여 x 만큼의 요청을 y 시간 내에만 가능하도록 제어하며 (예: 초당 100개의 요청), 아래의 세 가지 유형으로 설정 가능합니다.
2. Quotas - 정의된 시간동안 어느 만큼의 요청을 허용할 지 설정합니다. Rate limiting으로 제어하는 것 보다 더 긴 시간을 효과적으로 제어합니다 (예: 월당 10,000 개의 요청).
3. Key Expiry - 키의 유효기간 설정은 해당 토큰이 만기가 되면 더 이상 요청이 작동되지 않습니다.