안티패턴: 할당량 정책에 카디널리티가 높은 식별자 사용

Apigee Edge 문서를 보고 있습니다.
Apigee X 문서로 이동하세요.
info

할당량 정책은 API 프록시가 수신한 요청 수를 계산하는 데 사용됩니다. 이 기능을 통해 API 공급업체는 일정 시간 간격으로 앱에서 발생하는 API 호출 수를 제한할 수 있습니다.

할당량 정책에는 각 요청이 집계되는 할당량 '버킷'을 식별하는 identifier 요소가 포함될 수 있습니다.

안티패턴

할당량 정책을 사용하는 경우 카디널리티가 높은 식별자를 사용하지 마세요.

카디널리티는 집합의 고유한 데이터 값의 수를 나타냅니다. 카디널리티가 높은 식별자는 가능한 고유 값이 많습니다. 카디널리티가 높은 식별자에는 API 호출마다 변경되는 고유 요청 ID 또는 세션 ID가 포함됩니다.

카디널리티가 높은 식별자를 사용하면 할당량 적용의 효과가 크게 저하될 수 있습니다.

영향

할당량 정책의 식별자 요소에 카디널리티가 높은 식별자를 사용하면 다음과 같은 문제가 발생합니다.

  • 비효율적인 할당량 적용: 각 고유 식별자가 별도의 카운터로 처리됩니다. 모든 요청에 새 고유 ID가 있으면 할당량 시스템에서 기본적으로 모든 API 호출에 대해 새 '버킷'을 만듭니다. 즉, 전체 할당량 한도가 제한하려는 실제 요청 그룹이 아닌 개별 일회용 카운터에 대해 측정되므로 트래픽 제어에 정책이 쓸모없게 됩니다.
  • 리소스 소비 증가: 고유한 할당량 카운터를 대량으로 생성하고 관리하면 Apigee 플랫폼에 불필요한 부담이 가해져 리소스 사용량이 증가하고 성능 문제가 발생할 수 있습니다.
  • 모니터링 문제: 데이터가 많은 수의 고유 식별자로 분산되면 실제 API 사용량 추세를 모니터링하고 파악하기가 어려워집니다. API 리소스를 사용하는 애플리케이션, 개발자 또는 제품을 확인할 수 없습니다.

권장사항

할당량 적용을 위한 안정적이고 의미 있는 그룹화를 나타내는 카디널리티가 낮거나 중간인 식별자를 선택합니다. 이를 통해 API 사용량을 효과적으로 관리하고 트래픽에 대한 유용한 정보를 얻을 수 있습니다. 예를 들면 다음과 같습니다.

  • developer.app.name
  • client_id
  • apiproduct.name

적절한 식별자를 사용하면 할당량 정책이 API 트래픽을 더 효과적으로 관리하고, 의도치 않은 초과 사용을 방지하며, 사용 패턴에 관한 명확한 통계를 제공할 수 있습니다.