항해 플러스 백엔드 코스 6기 6주차 회고 WIL
·
항해/WIL
항해 플러스 추천인 코드지원페이지에서 추천 코드에 3ZTeU1를 입력하시면 20만원 할인 혜택을 받을 수 있습니다.항해 플러스 과정에 관심 있는 분들은 아래 링크를 통해 신청해보세요! 궁금한 점이나 커피챗을 원하시면 LinkedIn이나 kboxstar@gmail.com으로 연락주세요.항해 플러스 과정 페이지 개발자 커리어 개척 캠프 항해99, 첫 취업부터 현직자 역량 강화까지10년이 지나도 남는 커리큘럼을 바탕으로 커리어를 개척하세요. 진정성있는 멘토링과 2천 명이 넘는 끈끈한 커뮤니티가 여러분과 함께 합니다.hanghae99.spartacodingclub.kr1. 문제이번 주차에는 분산환경에서 동시성 제어하는 방법들에 대해 알아보고 동시성 문제가 발생하는 시나리오에 적절한 동시성 제어를 적용하는 것을 ..
Spring Boot 콘서트 예약 시나리오 동시성 문제 분석
·
프레임워크/Spring
개요https://github.com/hhpb-code/hhplus-concert GitHub - hhpb-code/hhplus-concert: 콘서트 예약 서비스콘서트 예약 서비스. Contribute to hhpb-code/hhplus-concert development by creating an account on GitHub.github.com콘서트 예약 시스템은 다수의 사용자가 동시에 접근할 수 있기 때문에 여러 동시성 문제가 발생할 수 있다.특히 좌석 예약과 같은 경우, 동일 좌석이 중복 예약되거나 잘못된 예약 내역이 처리될 가능성이 높다.이 글에서는 콘서트 예약 서비스에서 발생할 수 있는 대표적인 동시성 문제를 분석하고 이를 해결하기 위한 방안을 제시한다.동시성 문제란?동시성 문제는 여러 프..
Spring Boot Redis를 활용한 분산 락 구현
·
프레임워크
개요동시성 제어에는 여러 기법이 있다. 이전에는 비관적 락과 낙관적 락을 사용해 동시성 제어를 구현했지만, 이번에는 Redis를 이용한 분산 락을 다루어보자. 비관적 락과 낙관적 락에 대해 더 알고 싶다면 JPA 비관적 락과 낙관적 락 및 재시도를 참고하면 된다.분산 락분산 락은 여러 서버와 데이터베이스 환경에서 동시성 제어를 위해 사용된다. 단일 DB 환경에서는 비관적 락과 낙관적 락으로 충분히 동시성 제어가 가능하지만, 여러 DB가 분산된 환경에서는 성능 저하, Deadlock, 복제본 일관성 문제가 발생할 수 있어 분산 락이 필요하다.분산 락 구현 방법분산 락을 구현하는 방식은 여러 가지가 있다.Redis를 이용한 분산 락 구현: SETNX 사용Zookeeper를 이용한 분산 락 구현MySQL을 이..