Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

응답 제출 API에서 Caching 적용 중 문제 발견 #61

Open
justine-yun opened this issue Dec 5, 2022 · 0 comments
Open

응답 제출 API에서 Caching 적용 중 문제 발견 #61

justine-yun opened this issue Dec 5, 2022 · 0 comments

Comments

@justine-yun
Copy link
Member

justine-yun commented Dec 5, 2022

문제상황

  • 10초동안 초당 200개의 응답 제출 요청을 보낸 경우 문제 발생
  • redis에 설문지 응답을 저장하는 과정까지는 문제가 없음
  • redis에서 mongoDB로 설문지 응답을 save하는 과정에서 문제 발생

원인

  • 30초 주기마다 redis에서 mongoDB로 설문지를 save하고 있는데, 첫 번째 작업이 다음 30초가 오기 전까지 모든 설문지를 save하지 못함
  • 다음 30초에 두 번째 작업이 시작됨
    • 두 번째 작업에는 첫 번째 작업이 미처 보내지 못한 설문지도 포함되어 있음
  • 첫 번째 작업과 두 번째 작업이 중복해서 같은 설문지를 save하는 과정에서 오류 발생
    • 동일한 _id로 save 하는 과정에서 오류 발생

해결 방법

후보 1 - redis에서 DB로 업데이트 하는 주기를 증가시킨다

  • 요청을 모두 처리할 수 있도록 충분히 긴 시간을 주기로 설정하기
  • 주기가 길어질수록 설문지의 응답이 DB상에 늦게 반영된다는 문제가 있음
  • 요청이 늘어날수록 주기를 계속 증가시켜 주어야 함

후보 2 - 30초 안에 처리할 수 있을 만큼만 처리하기

  • 30초안에 충분히 처리할 수 있을 만큼만 작업을 분배한다
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant