[1단계] 시스템 사용량 추정
기능 요구 사항
- 사용자 위치 갱신
- 경로 안내 서비스 (ETA 포함)
- 지도 표시
DAU를 10억으로 가정
(1) 처리량 (읽기/쓰기 쿼리에 대한 QPS)
서버가 처리해야하는 요청 두 가지
- 경로 안내 요청, 위치 갱신 요청
- 평균적으로 주당 35분 사용한다고 가정, 10억명이 사용하니까 환산 시 350억분 → 하루에 50억분 사용
- 만약 요청을 1초에 한번씩 보낸다고 가정하면 하루동안 3,000억분 만큼이 사용되고, 이를 초로 나누면 300만 QPS가 됨.(하루를 약 10만초로 계산)
- 하지만, 매초 보내지 않고, 클라이언트에서 모았다가 15~30초 정도에 한번씩 요청한다고 하면 쓰기 QPS를 낮출 수 있다.
- 15초에 한번씩 보낸다고 하면 20만 QPS가 된다.
(2) 시스템에서 예상되는 지연시간(읽기/쓰기 쿼리)
위치 서비스 : 쓰기만 존재하며, 이 데이터를 다른 서비스 활용(100ms 이내)
경로 안내 서비스 : 5,000ms 이내 (거리가 멀고, 경로가 많을수록 지연시간이 길어질 수 있음) 네이버 길찾기 참고
(3) 읽기/쓰기 비율
위치 갱신 서비스는 15초에 한번씩 요청되며 20만 QPS 예상
최단 경로 조회를 위해 15초에 한번씩 요청한다고 가정하면, 위치 갱신 서비스와 동일할것으로 생각됨.