본문으로 이동

웹 서비스 프로젝트

OTT-Moa

여러 서버에서의 채팅 전달과 선착순 가입의 동시 요청, 연관 데이터를 읽을 때 반복되는 조회를 다뤘습니다.

채팅 전달과 동시 요청, 조회 성능을 다뤘습니다

접속 서버가 달라도 채팅이 전달되도록

Pub/Sub을 이용한 서버 간 전달과 DB에 남기는 채팅 기록을 구분했습니다. 메시지를 전달하는 경로와 기록을 보존하는 책임을 같은 것으로 보지 않았습니다.

선착순 가입의 동시 요청 처리

여러 요청이 같은 시점에 들어올 때 가입 처리의 정합성을 고려했습니다. 순서대로 실행한 기능 테스트만으로 동시 요청의 안전성을 판단할 수 없다는 점을 경험했습니다.

화면 한 번을 위해 반복되는 조회 줄이기

연관 데이터 접근에서 발생하는 N+1 조회를 살펴보고 Fetch Join과 배치 조회를 활용했습니다. 필요한 데이터를 어떤 범위로 함께 읽을지 쿼리 수와 함께 확인했습니다.