Closed pjhcsols closed 2 months ago
Feat: User Type에 의한 데이터 격리 보장 & 회원가입 서비스 Isolation.SERIALIZABLE 채택[박한솔]
회원가입 지연 로딩 발생
트랜젝션안에서 지연로딩 모두 해결해야됨-> 해결책 spring.jpa.open-in-view=*false*
→부하테스트 시 발생한 트랜잭션 내에서 지연로딩 문제를 해결하고자 하며 spring.jpa.open-in-view=false
설정을 사용하여 세션 관리를 효율적으로 처리합니다.
이를 통해 노멀, 브랜드, 슈퍼 유저 각 회원가입 서비스는 동시성 락을 걸어 데이터 일관성을 유지합니다. 동시성 문제를 완전히 해결하기 위해 Isolation.SERIALIZABLE을 선택하였으며, 각 유저 유형(normal, brand, super)에 따라 데이터 격리를 보장합니다. 데이터 일관성을 높이고 동시에 각 유저 객체에 대한 접근이 몰릴 가능성이 낮아 성능 저하를 최소화합니다. 이를 위해 @Transactional(isolation = Isolation.SERIALIZABLE)
을 사용하여 트랜잭션 격리 수준을 설정합니다.
Fix: Thread starvation or clock leap detected, Dead Lock, pool-size Connection 개수 수정[박한솔]