Skip to content

실시간 자산 조회 기능 개발 과정

sieun edited this page Dec 3, 2024 · 1 revision

마이페이지 내 자산 조회 API

사용자의 주식 자산은 보유 종목의 현재가에 따라 달라지기 때문에, 해당 부분을 실시간으로 구현할 때 고민이 있었습니다.

처음에 해당 기능에 대해 구상해볼 때에는 현재 보유하고 있는 종목의 가격이 변화할 때마다 업데이트 해주는 방식으로 구현해야 하나 생각했었습니다. 그러나, 해당 방식으로 구현하게 되면 DB에 접근하는 빈도가 너무 잦아질 것으로 예상되었습니다.

한국 투자 증권 웹소켓에 대한 테스트를 해 본 결과 한 종목 당 주가가 1초에 2번 씩은 변화하는 것 같아 보였는데, 사용자가 한 명이라고 해도 한 사용자가 20개의 종목을 사 두면 자산은 1초에 40번이나 바뀌어야 하는 문제가 생겼습니다.

그래서 다음으로는 스케줄러를 통해 1분마다 현재 가격을 조회해 자산 DB를 업데이트하는 방식으로 구현하고, 마이페이지를 조회했을 때는 스케줄러를 통해 마지막으로 업데이트된 자산 결과를 보여주는 것으로 구현했습니다.

그러나, 이 방식에도 문제가 있었습니다. 만약 한 종목을 구매하고 1분이 지나지 않은 상태로 마이페이지에 접근하게 되면, 구매가 반영되지 않은 결과를 조회하기 때문에 정확한 자산을 확인할 수 없었습니다. 마이페이지에 접근할 때는 해당 시점의 정확한 자산을 보여주어야 할 것 같았습니다.

그래서, 마이페이지 API를 조회하는 시점에서 보유 종목의 현재가를 반영해 DB를 업데이트해주고 업데이트된 결과를 반환하도록 다시 구현을 진행했습니다. 이런 방식으로 구현을 진행하니 1분마다 스케줄러로 DB를 업데이트할 필요도 없을 것 같다는 생각이 들어 업데이트 주기도 10분으로 늘려주었습니다. 스케줄러로 업데이트된 자산 데이터는 랭킹 기능에서 활용될 예정입니다.

📜 개발 일지

⚠️ 트러블 슈팅

❗ 규칙

🗒️ 기록

기획
회의록
데일리스크럼
그룹 멘토링
그룹 회고

😲 개별 멘토링

고동우
김진
서산
이시은
박진명
Clone this wiki locally