Skip to content

Issue #3 동시 편집에서 발생하는 race condition 처리

DongJun Kim edited this page Mar 17, 2024 · 2 revisions

문제 상황

image
  • 실시간 동시 편집이 가능하기에 race condition이 종종 발생할 수 있는 구조입니다.
  • STOMP를 이용해서 데이터를 주고 받기에, FE에서 보낸 요청에서 예외가 발생해도, BE에서는 화면에 보여줄 데이터 응답이 전송되어야합니다.

해결 방법

Screenshot 2024-03-18 at 01 59 11
image
- @WithRedissonLock이라는 커스텀 어노테이션을 개발해서 분산락을 획득한 다음 서비스 메소드가 실행되게 변경했습니다.

결과

image
- 멀티 스레드 테스트 결과 동시성 이슈 없이 정상적으로 결과가 반영된 것을 알 수 있습니다.