고정 윈도 카운터(fixed window counter)
동작원리
- 타임라인(timeline)을 고정된 간격의 윈도우(window)로 나누고, 각 윈도우마다 카운터(counter)를 붙인다.
- 요청이 접수 될때 마다 해당 시점에 맞는 타임라인의 counter의 값이 증가된다.
- 해당 시점에 맞는 타임라인의 counter의 값이 임계치(threshold)에 도달하면 새로운 요청은 새 타임라인 윈도우가 열릴때까지 버려진다.
단점
- 윈도의 경계 부근에 순간적으로 많은 트래픽이 집중될 경우 윈도우에 할당된 양보다 더 많은 요청이 처리 될수 있다. (예들 들어 1분 단위 기준으로 처리 할때 운이 안좋으면 00:01:00 ~ 00:02:00과 00:02:00 ~ 00:03:00은 각각 5건씩 처리해 10건이지만, 00:01:30 ~ 00:02:30 으로 생각한다면 10건이 모두 해당 시간 처리로 될수 있는 케이스 )
장점
- 메모리 효율이 좋다.
이동 윈도 로그(sliding window log)
이동 윈도 카운터(sliding window counter)