SlidingWindow

지난 글에 Rate Limiter 성능 문제를 해결하기 위해 Caffeine 캐시를 도입했습니다.처리율 제한 시스템을 설계했을 때 어떤 알고리즘이 있으며, 어떤 이유로 선택했는지 정리하려고 합니다. 1. 왜 Rate Limiter를 직접 구현하게 되었는지?평소에 하던 업무에서 다음과 같은 부분을 중점으로 설계하고 구현한 적이 없어서 따로 고민해보지는 않았었습니다.다만, 사이드 프로젝트에서 슬랙 알림 연동을 마치고 예외나 배치 스케줄러가 종료했을 때 알림이 중복으로 발송되는 것에 대해 생각을 해보았습니다. 그래서 ConcurrentHashMap 형식으로 알림 발송 현황을 저장하는 방식을 선택해보았습니다. 처음 구현 코드에서는"고정윈도우 + 슬라이딩 요소"를 담았습니다. 고정 윈도우적 특성각 키별로 첫 ..
솜사탕코튼
'SlidingWindow' 태그의 글 목록