오라클에서 동시성 문제를 해결하는 방법
Etc.
2019. 5. 9. 22:35
1. 문제상황 자 생각해보자, 내가 개발자이고 만약에 100명한정 쿠폰을 다운로드 만들어야하는 상황이다. 과연 어떻게 개발을 할 것인가? 개발환경은 보통 많이 쓰는 스프링 프레임워크와 오라클이라고 가정하자. 보통 웹서버의 서블릿은 멀티쓰레드이기 때문에 동시성에 대한 문제가 발생한다. 한정수량이 1장 남았을때 두개의 쓰래드가 동시에 접근해서 1장 남았다라는 정보를 조회하게 되면 실제로 남은 수량이 -1이 될 수 있는 상황이 올수있다. 그럼 어떻게 해야할까? 첫번째, 자바의 메소드를 동기화 시키는 방법이 있을 수 있다. 이 방법의 단점은 스레드세이프하지만 처리효율이 줄어든다는 단점이 있다. 두번째, 오라클의 For Update를 사용하는 것 내가 여기서 권고하는 방법은 두번째 방법이다. 2. 처리흐름 *3...