API LIMIT
51
3 asked
안녕하세요.
항상 좋은 강의 감사합니다.
API LIMIT을 보면 ABUSING이랑 비슷한 개념이라고 느꼈습니다. 예를 들어, 어떤 유튜브 라이브에서 좋아요 리액션을 너무 많이 눌렸을 때, API LIMIT 알고리즘으로 고정 윈도우 방식이 적절하다고 생각했습니다.
INCR 이 빈번한 작업이기 때문이죠. 근데 악성 BOT(봇)으로 좋아요를 악의적으로 누를 수도 있는데
이때는 ABUSING(어뷰징) 처리를
해야한다면 API LIMIT과 동일하게 가져가는게 맞을지
설명주신 API LIMIT도 제한 구간 10초당 몇개 를 구간과 임계치를 설정하는데, 보통 어떤 기준으로 실무에서 설정하는지 궁금합니다. 운영하면서도 모니터링하면서 조절할거 같은데 유튜브 라이브의 임계치 구간을 설명한다고 가정하면 인간의 마우스나 손으로 눌렸을 때 1초당 10번 이하? 이렇게 추상적인 실험 데이터도 정하는게 맞는지도 궁금합니다.
감사합니다.
Answer 1
1
안녕하세요.😊
1. Rate Limiting과 어뷰징
부분적으로는 비슷해 보이지만, 이 둘은 목적과 대응이 다릅니다.
a. Rate Limiting
사용량 제한
리소스 보호와 공정한 사용이 주 목적입니다. 즉 너무 많이 사용하지 말라는 거죠.
b. Abusing 탐지
악의적인 행위 탐지
단순히 횟수 초과를 넘어 호출 패턴, 속도, 분포 등을 함께 봐야 합니다.
그래서 일반적으로 Rate Limiting을 먼저 적용하고, 사용량을 초과하면서 특정한 이상 호출 패턴이 보이면 어뷰징 처리를 추가로 하는 형태로 구현합니다. 즉 Rate Limiting은 1차 방어선이고 Abusing 탐지는 그 다음 레이어로 처리하는 게 일반적입니다. 따라서 이 둘을 완전히 동일하게 가져가지는 마시고 계층을 분리해서 설계하는 것을 권장드립니다.
2. API Rate Limiting 실무 임계치
말씀하신 대로 보통 인간이 초당 빠르게 클릭할 수 있는 경험적 최대치(도메인 상식 기반)를 우선 감안합니다. 그리고 실제 정상적인 유저의 해당 액션 빈도를 보고 조정할 수 있습니다.(정상적인 의도를 가진 사용자가 막히면 안 되니까요) 그리고 '좋아요'와 같은 비교적 가벼운 액션은 좀 관대하게 잡기도 하지만, 중요한 행위일 경우 좀 더 타이트하게 설정하는 것이 좋습니다.
화이팅입니다. 👍
자동으로 계속 돌게하려면
1
18
2
새로운 종목 후보군 추가시 확인해야할 사항들
1
20
2
run.py시 42501 에러
1
22
3
기존 pro 요금제 구독 필요
1
15
2
24강 전체 파이프라인
1
16
1
claude는 반드시 api형식이어야 하나요?
1
20
2
Colab 실행시
1
24
1
알파밴티지 뉴스 기사
1
20
1
jar 파일 빌드
-1
18
1
env
1
23
1
레디스로 재고 관리
0
34
2
Lock 해제 문의 드립니다.
0
36
2
레디스로 대기큐 구현 질문
0
72
2
캐시 무효화
0
43
2
Redis와 Kafca의 Pub/Sub 차이
0
58
2
너무 흥미진진합니다..
1
60
2
순위가 동률일 때의 처리에 대해 질문드립니다.
0
69
2
Redlock 알고리즘 관해 궁금한게 있습니다!
0
90
2
좋아요/조회수 카운팅 병목현상에 대해서 궁금한점이 있습니다.
0
64
2
백엔드 서버 코드 변경에서 프론트엔드 서버가 값을 파싱하지 못하는 문제
0
111
1
강사님 GETDEL 관련해서 질문 있습니다
0
122
2
비밀번호를 걸고 실행된 레디스 서버에 lua 스크립트를 등록하는 경우
0
103
2
보안 설정을 한 수강생들은 Connection Settings에 비밀번호를 넣어야 추가되네요
0
81
2
Redis Container 해킹
0
133
1

