중복 추가 이슈를 해결하기 위한 고민
·
대외 활동/SOPT
메뉴 추가 동시성 이슈요즘, 동시성에 대해 공부하면서, 이전에 만들었던 프로젝트에서 발생할 수 있는 동시성 문제들에 대해 찾아보고 해결방법을 고민하고 있다. '한끼족보' 프로젝트에서는, 여러 명의 사람이 동시에 같은 메뉴를 추가할 경우, 같은 메뉴가 하나의 테이블에 여러 개 저장되는 현상이 발생한다.테이블 구조고민한 해결방법위의 문제를 해결하기 위해 고민한 방법은 2가지이다. 1. 유니크 키 제약조건(store_id, name) 컬럼 조합에 대해 복합 유니크 제약 조건을 걸어, 동시성 문제 해결하는 것이다.가장 간단한 해결 방법으로 DB 차원에서 중복 삽입을 자동으로 방지할 수 있다. 하지만 이 경우, DB단에서 발생하는 예외(유니크 키 제약 위반)를 service의 비즈니스 로직 상에서 try-catc..