Skip to content

Conversation

@andrewkimswe
Copy link
Member

@andrewkimswe andrewkimswe commented Mar 3, 2025

📌 Summary


Description

쿠팡 파트너스 API의 호출 제한(1분 100회)을 준수하기 위해 Rate Limiter를 도입하여 API 요청을 제어하였습니다.
이를 통해 API 호출 제한을 초과하지 않도록 관리하고, 불필요한 요청 제한 및 정지를 방지할 수 있도록 개선하였습니다.


✅ 주요 작업

  • 롤링 윈도우 방식의 Rate Limiter 구현

    • 최근 1분(60초) 내 호출 횟수를 Deque에 저장하여 관리
    • 호출 횟수가 100회를 초과하면 가장 오래된 호출과의 시간 차만큼 대기
    • 동시성 제어를 위해 synchronized 블록 활용
  • generatePartnerLink()에 Rate Limiter 적용

    • API 호출 전에 waitIfLimitReached() 실행하여 제한 준수
    • API 호출 횟수 및 대기 시간 로깅 추가
  • 테스트 및 검증

    • API 호출 제한 초과 시 정상적으로 대기하는지 확인
    • 실제 서비스 환경에서 Rate Limiter가 적절히 동작하는지 검증

🗒️ Review Point

혹시 궁금한 부분이나 수정이 필요한 사항이 있다면 알려주세요!

@andrewkimswe andrewkimswe requested a review from YangYoonseo March 3, 2025 06:01
@andrewkimswe andrewkimswe self-assigned this Mar 3, 2025
@andrewkimswe andrewkimswe added 🚨 Hotfix 긴급 수정 ✨ feature 기능 개발 📁 data 데이터 관련 📡 API API 관련 코드 작성 labels Mar 3, 2025
@andrewkimswe andrewkimswe moved this to Done in Outline project Mar 3, 2025
@andrewkimswe andrewkimswe added this to the 🔥 Final Deployment milestone Mar 3, 2025
@andrewkimswe andrewkimswe linked an issue Mar 3, 2025 that may be closed by this pull request
4 tasks
@andrewkimswe andrewkimswe merged commit e075704 into main Mar 3, 2025
1 check passed
@andrewkimswe andrewkimswe changed the title Release : Ver.2 Feature #94 : Coupang Partners API 호출 시 Rate Limiter 적용 Mar 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

📡 API API 관련 코드 작성 📁 data 데이터 관련 ✨ feature 기능 개발 🚨 Hotfix 긴급 수정

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

feat : 쿠팡 파트너스 api 호출 시 rate limiter 적용

2 participants