[🌐EN](<https://synctree-guide.notion.site/AccessControl-a65df3d4195f4eb9a5bb7663a0a98467>)
본 문서에서는 블록 코딩을 활용하여 API 호출량을 제어하는 방법을 설명합니다.
▶ Plan Control
- AccessControl Block은 구독하신 Plan에 의해 제어합니다.
- 요금제에 포함되지 않은 Protocol Block을 사용할 경우, 저장 시 경고 메시지(
There are unavailable blocks included. Please check and try again.
)가 노출됩니다.
|
Free |
Starter |
Plus |
Pro |
Enterprise |
AccessControl |
- |
- |
- |
- |
✓ |
▶Access Control 블록
1) Rate Limit
- API의 요청 한도를 제어합니다.
- period(초) 기간 동안 count만큼 API를 호출할 수 있습니다.
- 호출 횟수를 초과한 이후에는 LimitExceedException이 발생합니다.
2) Throttle
- 여러 번 API 요청이 들어와도 일정한 주기로 호출이 발생하도록 제어합니다.
기능 |
설명 |
DataType |
Default |
capacity |
최대 생성 가능한 토큰 개수 |
int |
- |
count |
생성할 토큰 개수 |
int |
- |
period |
토큰 갱신 주기(초) |
int |
- |
key |
토큰의 상태를 관리하기 위한 key(null, string type) |
|
|
- null : 각 api별로 토큰 상태를 관리
- string : 주어진 string으로 별도의 key를 생성하여 관리(bizUnit 단위) | string | null |
| expiration | 키의 생성 유지 시간 (Redis에서 관리)
key가 만료되면 토큰 생성 상태는 초기화 됨. | int | - |
| blocking | 토큰이 없는 경우 재시도 여부 설정(bool type)
- null, false : 대기하지 않고 바로 429 Too many request 리턴
- true : 토큰이 생성 될 때 까지 대기 후 다시 시도 | boolean | null |