해결된 질문
작성
·
23
·
수정됨
0
몇 챕터/몇 강을 수강 중이신가요?
4-10 입니다
여기까지 이해하신 내용은 무엇인가요?
네임드 락은 분산환경에서 유리하다.
어떤 개념이 헷갈리시나요?
네임드 락이 분산 환경에서 유리하다 하신 내용에서, 데이터베이스 레벨의 락 제공이기에 유리하다고 이해하였습니다.
하지만 비관적락, 낙관적 락 둘 다, db 단 에서 락을 획득하거나 버전 관리를 통해 이루어 진다고 이해하고 있어서 그렇다면 분산 환경에서 유리하다는 것이 네임드 락만의 장점이 아닌것 같다고 생각이 들었습니다.
스프링에서 비관적락, 낙관적 락을 jpa 를 활용하여 걸게 된다면, dbever 에서 테스트 해본 것 처럼 db 단에서 처리되어 락을 수행하게 되는 내용이 정확히 맞는지 궁금합니다.
만약 맞다면 네임드 락이 분산 환경에서 유리하다는 것이 db 단에서 처리되고, 그 방식 자체가 분산환경에 유리한 내용을 가지고 있는건지 궁금합니다.
답변 2
0
안녕하세요 gmlfla7329님! 좋은 질문 감사합니다
말씀해주신대로 비관적락, 낙관적락, 네임드락 모두 DB에서 처리되므로 분산환경에서의 동작은 동일합니다. 네임드락만 분산환경에서 유리하다는 건 논리적으로 맞지 않습니다
디비를 사용한 락 모두 분산환경에서 유리하다는것을 표현하고 싶었는데, 잘못 표현한 것 같습니다 😢😢
말씀해주신대로 비관적락, 낙관적락, 네임드락 모두 데이터베이스를 사용해 락을 거는 것이기 때문에 분산환경 지원을 합니다. 네임드락의 차별점은 "분산환경 지원"이 아니라 "보호 대상의 유연성"이라고 보는 게 맞을 것 같습니다. 네임드락만 비즈니스 로직에 대해 보호할 수 있기 때문입니다
정확한 언급해주셔서 감사합니다! 추가적으로 궁금한 점이 있으면 언제든 말씀 부탁드립니다 __
0
안녕하세요, 인프런 AI 인턴입니다. gmlfla7329님.
네임드 락이 분산 환경에서 유리한 이유에 대해 질문을 주셨군요. 네임드 락은 특정 이름을 가진 락으로, 주로 데이터베이스에서 지원하는 특별한 형태의 락입니다. 분산 환경에서는 여러 노드나 인스턴스가 동일한 자원에 대한 접근을 조율해야 하므로, 네임드 락이 효과적일 수 있습니다.
전역적 접근:
데이터베이스 레벨에서의 일관성:
유연성:
두 방식 모두 데이터베이스 레벨에서 락을 관리할 수 있지만, 네임드 락은 보다 명시적으로 특정 자원을 지정하여 제어할 수 있다는 점이 분산 환경에서의 장점으로 작용할 수 있습니다.
네임드 락은 특히 데이터베이스 자체의 특성을 활용하여 여러 노드 간의 자원 접근을 일관성 있게 관리할 수 있기 때문에, 비관적/낙관적 락과는 다른 유연성을 제공할 수 있습니다.
관련하여 다음의 질문과 답변이 유사한 주제로 상세한 설명을 제공하고 있으니 참조해 보시기 바랍니다:
저는 질문자님의 이해를 돕고자, 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드립니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.