[스프링] 동시성(Concurrency) 문제 알아보기
rowing0328
Intro동시성 문제는 꼭 거대한 시스템에서만 생기는 건 아니다.멀티스레드 환경이거나, 서버 인스턴스가 두 개만 돼도 충분히 발생할 수 있다. 이 글에서는 자바 스프링 기반 시스템에서 겪었던 동시성 문제들과,그걸 어떻게 풀어갔는지에 대한 사례를 정리해봤다.정답이라기보단 하나의 참고 사례 정도로 봐주면 좋겠다. 동시성 문제란여러 스레드 또는 프로세스가 동시에 공유 자원에 접근하거나 변경하려고 할 때 발생하는 문제다.단일 환경에서는 문제없이 돌아가던 코드가, 멀티스레드 / 다중 인스턴스 / 분산 환경에 들어서면 예상치 못한 오류를 일으키는 대표적 원인이다. 대표적인 증상재고가 마이너스가 됨쿠폰이 초과 발급됨포인트 중복 적립은행 계좌에서 잔액이 음수로 빠져나감 이런 문제는 흔히 동시 요청이 거의 동시에 처리..