728x90
반응형

redis 2

Spring Boot에 Redis와 연동하여 처리율 제한 장치(Rate Limiter) 적용하기(Spring Boot + Redis + Bucket4j)

Spring Boot에 Redis와 연동하여 처리율 제한 장치(Rate Limiter) 적용하기(Spring Boot + Redis + Bucket4j) 포스팅 동기 개인 프로젝트를 진행하면서 처리율 제한 장치를 적용해야하는 상황이 발생했습니다. 처리율 제한 장치를 구현하기 위해서는 크게 2가지 방법이 있는데, Client와 Server 사이에 MiddleWare를 두어서 Gateway를 이용하는 방법과 Server에서 구현하는 방법이 있습니다. 저는 Gateway를 사용하기에는 규모가 작은 프로젝트라서 Server에 직접 구현하였습니다.^^ 추가로 처리율 제한 장치에 여러 알고리즘이 존재하는데, 리소스를 고려하여 구현이 간편한 토큰 버킷 알고리즘을 사용했습니다.^^ 이 모든 내용을 혼자만 알고있기에는 ..

0+ 스프링 2023.10.22

[가상 면접 사례로 배우는 대규모 설계 기초] 2. 처리율 제한 장치(Rate Limiter)

[가상 면접 사례로 배우는 대규모 설계 기초] 2. 처리율 제한 장치(Rate Limiter) 아무리 대용량 데이터를 처리할 수 있다고 하더라도, 악의적인 목적을 가진 사용자가 무한정으로 서버에 요청을 하면 문제가 발생하기 마련입니다. 그래서 빅 테크 기업에서는 네트워크 시스템에서 처리율 제한 장치(rate limiter)를 설계합니다. 이번에 처리율 제한 장치가 무엇인지 알아보자! 처리율 제한 장치(Rate Limiter) 처리율 제한 장치란 클라이언트 또는 서비스가 보내는 트래픽의 처리율(rate)를 제어하기 위한 장치입니다. HTTP를 예로 들면 특정 기간내에 전송되는 클라이언트의 요청 횟수를 제한하는 것 입니다. API의 요청횟수가 제한 장치에 정의된 임계치(threshold)를 넘어서면 추가로 ..

728x90
반응형