본문으로 건너뛰기

#Concurrency

5개의 글

Backend Development

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

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

Concurrency Java Spring Boot Redis
Backend Development

JPA 비관적 락과 낙관적 락 및 재시도

콘서트 예약 프로젝트를 개발하면서 좌석 예약에서 발생하는 동시성 문제에 대해 고민하게 되었다. 여러 사용자가 동시에 같은 좌석을 예약하려고 할 때 동시성 문제가 발생할 수 있는데, 이를 해결하기 위해 JPA에서 제공하는 비관적 락(Pessimistic Lock)과 낙관적 락(Optimistic Lock)을 사용하고, AOP를 활용한 재시도 로직을 통해 동시

Concurrency Java JPA
Backend Development

분산 환경에서의 동시성 제어

- 동시성 제어의 기본 개념 이해를 위해 멀티 스레드 환경에서 동시성 제어 방식에 대한 분석 In Java 글 참고 - 멀티 스레드 환경: 단일 인스턴스, 인스턴스 레벨 동시성 제어 가능 - 분산 환경: 다중 인스턴스, 인스턴스 레벨 제어 불가능 1. 락(Lock)을 이용한 제어 - 원리: 공유 자원에 대한 접근을 순차적으로 제어 - 장점: 구현이 상대적으

Concurrency Java
Backend Development

멀티 스레드 환경에서 동시성 제어 방식에 대한 분석 In Java

이번에 항해 플러스 백엔드 코스의 1주차 과제를 진행하면서 `멀티 스레드 환경에서 동시성 제어 방식`에 대한 분석을 진행했다. 이 내용은 분산환경을 고려하지 않고 외부 의존성을 사용하지 않고 멀티 스레드 환경만 고려하였다. 동시성 제어는 다중 사용자 환경에서 데이터베이스나 공유 자원의 일관성과 무결성을 유지하기 위한 핵심 기술이다. 여러 사용자가 동시에 같

Concurrency Java