-
Notifications
You must be signed in to change notification settings - Fork 4
Github API의 느린 응답 이슈 개선을 위한 스케줄링을 통한 DB 업데이트
김승진 edited this page Mar 18, 2024
·
1 revision
매우 느린 Github API를 사용해야 했으며 바로 데이터를 response 해야 함
-
문제가 생긴 사용해야할 Github API 의 특징
- 맨 처음 호출시 202 상태코드 response 및 계산 시작
- 계산이 끝나면 그 다음 호출시 데이터 반환하며 비동기 호출 방법을 제공하지 않음
-
평균 7초 이상 소요되며 최대 10초 가량 소요
-
한 번 조회한 부분은 이후에는 빠르게 response할 수 있으면 좋겠다 판단
-
DB에 저장하여 데이터가 있는 경우 해당 데이터를 사용하는 방법 구상
- 이미 DB에 데이터가 존재하는 경우 해당 데이터를 response
- DB에 존재하는 데이터를 스케줄링을 통해 2시간 마다 일괄 업데이트 진행
- 부하테스트를 통해 평균 Latency를 확인하였다.
- 첫 호출 이후부터는 DB조회만 수행하면 되어 개선된 latency 제공
- 캐시와 비슷한 성격을 띄고 있으므로 캐시에 저장
- 히트율 고려
- Github Repository의 스타 수가 많은 경우만 스케줄링을 통해 갱신
- 회원 본인의 Repository는 앱 실행시 한 번 모두 갱신