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

qheogus55님의 프로필 이미지

작성한 질문수

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

35강. 책 대출/반납 기능 리팩토링과 지연 로딩

안녕하세요 다른분 질문에서 강사님에 답변에서 질문있습니다.!!

24.03.27 03:50 작성

·

115

0

똑같은 이름의 책 등록을 막기 위해서는 스프링 부트의 멀티스레드 구조와 단일 인스턴스 - 서버가 1대인 경우 - 일 때의 synchronized 구문, 멀티 인스턴스 - 서버가 N>=2 대 인경우 - 일 때의 DB unique key 등을 언급해야 하고, (이 과정에서 서버의 인프라도 설명이 들어갑니다!) 동시 대출을 방어하기 위해서는 DB의 Lock(잠금) 종류와 원리에 대해 설명해야 합니다.

  1. 이렇게 답변주셨는데 대용량 트래픽 개인프로젝트를 설계한다고 해야한다면 서버를 여러대 생각을 하고 DB unique key를 생각을 해야할지 먼저 서버 1대를 생각하고 synchronized 구문으로 똑같은 이름의 책 등록을 막아야할지 고민입니다.!!

답변 1

0

최태현님의 프로필 이미지
최태현
지식공유자

2024. 03. 27. 17:05

안녕하세요! qheogus55님! 🙂 역시 좋은 질문 감사합니다~ 👍

만약 개인프로젝트에서 여러 대의 서버를 고려하고 계시다면 (이름부터 대용량 트래픽 프로젝트군요! 😊) 서버가 한 대일 때만 유효한 synchronized 키워드를 사용하는 대신, DB unique key나 DB Lock 등을 사용하시는 편이 좋을 것 같습니다!

관련해서 "서버 동시성 처리"로 검색해보시면 아마 자료가 꽤 나올거에요~

혹시나 궁금한 점이 또 있으시면 편하게 질문 남겨주세요! 감사합니다! 🙏