인프런 커뮤니티 질문&답변

gelab님의 프로필 이미지
gelab

작성한 질문수

재고시스템으로 알아보는 동시성이슈 해결방법

Named Lock 활용해보기

낙관적락 vs 네임드락

작성

·

130

0

낙관적락과 다르게 네임드락은 재시도 로직이 필요 없나요?

낙관적락은 충돌이 빈번하다면 재시도 로직으로 인해 비관적락보다 성능이 떨어질 수 있는데, 네임드락은 어떤가요?

답변 2

0

최상용님의 프로필 이미지
최상용
지식공유자

gelab 님 안녕하세요.
답변이 늦어져서 죄송합니다.

네임드락의 경우 락을 다른 세션에서 점유하고 있을 때 일정시간 기다릴 수 있는 기능이 있습니다.
이로 인해 대부분의 경우 별도의 재시도 로직은 필요없을것이라고 생각됩니다.

일정시간 이상 기다렸는데도 실패했을때 다시 시도하기를 원한다면 재시도로직을 작성할수도 있을것 같습니다.

감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다.

제공된 정보에는 네임드락에 대한 내용이 포함되어 있지 않습니다. 그래서 해당 질문에 대한 답변을 제공할 수 있는 정보가 없어요. 낙관적 락에 대해서는, Spring Data JDBC는 @Version 애노테이션을 사용하여 낙관적 락을 지원한다고 설명되어 있는데요, 이는 엔티티가 저장될 때 발생하는 버전 충돌을 검사하여, 충돌이 감지되면 OptimisticLockingFailureException을 발생시키는 방식으로 작동한다고 합니다. 이와 관련된 좀 더 자세한 정보를 원하시면 아래 원문 링크를 참조해 주세요.

Spring Data JDBC - 낙관적 락 관련 문서

gelab님의 프로필 이미지
gelab

작성한 질문수

질문하기