시세 데이터의 실시간성과 정합성을 동시에 고민했던 경험 중심
사이드 프로젝트로 주식 관심 종목 알람 앱을 만들면서 시세 데이터를 어떻게 다룰지 고민이 많았습니다. 1분마다 갱신하면 최신성이 부족하고, 너무 자주 요청하면 외부 API 비용이 커졌습니다.
폴링 방식과 웹소켓 방식을 비교해 봤습니다. 관심 종목 5개 이하일 때는 폴링으로 충분했지만, 종목이 늘수록 연결이 분산되는 웹소켓이 효율적이었습니다. 관심 종목 수 기준으로 방식을 전환하는 로직을 만들었는데, 그 자체가 복잡성을 키운다는 걸 나중에 깨달았습니다.
처음부터 단순하게 웹소켓만 쓰면 됐을 것을 불필요한 분기로 만들었던 실패였습니다. 시세 데이터에서 중요한 건 데이터 신선도와 누락 감지라는 것도 배웠습니다. 연결이 끊겼을 때 마지막 수신 시각을 사용자에게 보여주는 것이 핵심 기능이라는 걸 그때부터 인식했습니다.