Redisson 분산 락을 이용한 SMS 중복 발송 제한 구현

개요 사용자가 인증 번호 요청 버튼을 여러 번 클릭하거나 악의적인 요청을 보낼 때, 동일한 번호로 짧은 시간 내에 여러 건의 SMS가 발송되는 것을 방지해야 합니다. 이를 위해 Redis 기반의 Redisson 분산 락을 활용하여 1분간 발송을 제한하는 로직을 구성합니다. 의존성 설정 프로젝트의 pom.xml에 분산 락을 위한 Redisson과 알리운(Aliyun) SMS API 라이브러리를 추 ...

7월 31일 18:59에 게시됨

Redis 기반 분산 락 구현 with SpringBoot

1. 의존성 추가 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> 2. Redis 연결 설정 spring: redis: host: 192.168.80.88 port: 6379 password: database: 5 timeout: 2000ms jedis: pool: ma ...

7월 22일 07:25에 게시됨

MySQL 기반 분산 락 구현 가이드

MySQL 데이터베이스를 활용한 분산 락(Distributed Lock)은 멀티 인스턴스 환경에서 스케줄링 작업이 중복 실행되지 않도록 보장하는 효과적인 방법이다. 락 테이블 생성 CREATE TABLE app_lock ( resource_name VARCHAR(64) PRIMARY KEY, locked_by VARCHAR(64), locked_at DATETIME, expires_at DATETIME ); 락 획득 락을 획득할 때는 app_lock 테이 ...

6월 24일 23:47에 게시됨

SpringBoot와 Redis를 활용한 중복 요청 방지 전략

대용량 트래픽 환경에서 동일한 요청이 여러 번 처리되는 문제는 시스템 안정성을 해치는 주요 원인 중 하나입니다. 이 글에서는 Redis를 활용해 효과적으로 중복 제출을 차단하는 방법을 살펴봅니다. 중복 요청이 발생하는 상황 사용자 경험 측면에서 중복 요청은 다음과 같은 경우에 발생합니다: 버튼을 빠르게 여러 번 클릭 네트워크 지연으로 인한 클라이언트 재시도 ...

6월 23일 16:41에 게시됨