낙관적 락 썸네일형 리스트형 (1) 스프링 동시성 문제 1. 서론 나의 프로젝트들 중에는 '조회수'와 '북마크 수'를 카운트하는 기능이 있다. 조회수가 증가하는 로직은 중복을 방지하여 사용자가 게시글을 조회하면 조회수에 + 1 갱신 북마크 수는 DB 테이블을 반정규화하여 Board 테이블의 컬럼에 북마크 수를 두고, 사용자가 게시글을 북마크하거나 해제하면 +1, -1 하도록 구현했다. 얼마전 유튜브를 보다가 실제 인스타그램에서도 좋아요 수를 표시하기 위해 이렇게 테이블을 구성했다고 한다. 나의 기능들을 보면, 조회수나 북마크 수는 비즈니스에 엄청난 영향을 미치는 것은 아니기에 무시할 수도 있다. 하지만 상품의 재고 수량과 계좌의 입출금 같은 경우 동시성 문제가 일어난다면 비즈니스에 치명적인 피해를 입힐 것이다. 2. 동시성 문제가 뭔데 ? 하나의 자원을 2개.. 더보기 이전 1 다음