본문으로 건너뛰기

#Spring Boot

23개의 글

Backend Development

Spring Boot Redis를 활용한 분산 락 구현

동시성 제어에는 여러 기법이 있다. 이전에는 비관적 락과 낙관적 락을 사용해 동시성 제어를 구현했지만, 이번에는 Redis를 이용한 분산 락을 다루어보자. 비관적 락과 낙관적 락에 대해 더 알고 싶다면 JPA 비관적 락과 낙관적 락 및 재시도를 참고하면 된다. 분산 락은 여러 서버와 데이터베이스 환경에서 동시성 제어를 위해 사용된다. 단일 DB 환경에서는

Concurrency Java Spring Boot Redis
Backend Development

필터(Filter) vs 인터셉터(Interceptor)

콘서트 프로젝트에서 대기열을 구현하는 과정에서, 대기열 검증 로직을 어디서 처리할지 고민하게 되었다. 대기열 토큰을 가지고 입장 가능 여부를 검증하는 로직을 작성했는데, 이 로직을 필터나 인터셉터 중 어디에 두는 게 적절할지 알아보면서, 필터와 인터셉터의 차이점과 용도에 대해 정리해보았다. 필터는 J2EE 스펙에서 제공하는 기능으로, 디스패처 서블릿(Dis

Spring Boot Java
Backend Development

Dispatcher Servlet (디스패처 서블릿)

필터(Filter)와 인터셉터(Interceptor)에 대해 알아보다가 디스패처 서블릿(Dispatcher Servlet)을 한 번 짚고 가면 좋을 것 같아 작성하게 되었다. 서블릿은 클라이언트의 요청을 처리하고 그 결과를 반환하는 자바 웹 프로그래밍 기술로, Servlet 클래스의 구현 규칙을 따르게 된다. 서블릿은 웹 서버에서 동작하며, 클라이언트의 요

Spring Boot Java
Backend Development

Spring Global Exception Handler (전역 예외 처리)

Spring에서 예외 처리 방법은 여러 가지가 있다. 가장 흔히 사용되는 방법으로는 try-catch 문을 이용한 예외 처리, @ExceptionHandler를 이용한 예외 처리, 그리고 전역에서 예외를 처리할 수 있는 @ControllerAdvice를 이용한 방법이 있다. 이 글에서는 각 방법의 특징과 장단점을 알아본다. `try-catch` 문을 이용한

Spring Boot Java