Latest Posts · Page 1 of 1
AOP와 Redis를 활용한 접속 제한 설정 기능 구현

Embedded Redis를 Local/DEV 환경에 내장하여 구동하고, STAGE/PROD에서는 ElastiCache를 사용하도록 @Profile로 환경별 RedisConnectionFactory Bean을 분리 구성한다. @AccessLimiter 커스텀 Annotation을 정의하여 IP/Session 기준, 최대 허용 횟수, TTL 등의 옵션을 선언적으로 설정할 수 있게 하고, Redis에 접속 횟수를 key-value로 저장해 카운팅한다. @Around AOP로 메서드 실행 전에 접속 횟수를 확인해 초과 시 ExceededRestrictException을 throw하고, 실행 후에는 비동기(CompletableFuture)로 카운트를 증가시켜 비즈니스 로직과 완전히 분리한다.

Read
블로그에 새로운 글이 발행되었습니다.