내가 저번에 재고 시스템에 동시성 적용하기 (1) 관련해서 글을 작성적이 있었다.그때는 재고를 하나만 수정하는 API이기 때문에 데드락이 발생할 가능성은 적었다.하지만 최근에 API를 추가하게 되었다. 고것은 { "stocks": [ { "id": "1b332d6b-fa61-44fa-99b4-3f1c47bbced8", "productQuantity": -5 } , { "id": "8f889c3d-a233-4716-b94a-b854d6265ea8", "productQuantity": 10 } , { "id": "c01cccdb-78a9-4328-ba52-70b3edb2f40d", "productQuantity": -2 ..
프로젝트가 끝나고 리펙토링을 진행하였다. 그리고 프로젝트 고도화를 위해 어떤것을 할 수 있을지 고민해봤다.일단 내가 맡은 도메인으로 진행을 하는것이 좋을거 같다는 생각이 들었다. 여러가지가 있었지만 그중에서 내가 선택한것은 제고 쪽이다. 현재 동시성을 제어하기 위해 비관적락을 사용해놓은 상태다.비관적락에 대해 복습해보자면 비관적락은 락을 앞단에서 거는거라 생각하면 좋다. 그러니까 DB에서 조회되기전에 락을 걸어서 동시성을 제어하는 방법이라고 생각하면 된다. 그렇다면 왜 비관적락인가를 생각해보면 내가 객체라고 말한적이 있었는데 잘못 말했구 DB다.그러니까 DB는 좀 자기주장이 좀 강한 친구라고 생각하면 이해하기 쉽다. 그리고 비관적락은 외부에서 받은거라 생각하면 된다. 즉, 자기주장이 강하니까 외부에서 처..
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.