-
Notifications
You must be signed in to change notification settings - Fork 3
응답 제출 API에서 Caching 적용 중 문제 발견 #61
Copy link
Copy link
Open
Description
문제상황
- 10초동안 초당 200개의 응답 제출 요청을 보낸 경우 문제 발생
- redis에 설문지 응답을 저장하는 과정까지는 문제가 없음
- redis에서 mongoDB로 설문지 응답을 save하는 과정에서 문제 발생
원인
- 30초 주기마다 redis에서 mongoDB로 설문지를 save하고 있는데, 첫 번째 작업이 다음 30초가 오기 전까지 모든 설문지를 save하지 못함
- 다음 30초에 두 번째 작업이 시작됨
- 두 번째 작업에는 첫 번째 작업이 미처 보내지 못한 설문지도 포함되어 있음
- 첫 번째 작업과 두 번째 작업이 중복해서 같은 설문지를 save하는 과정에서 오류 발생
- 동일한 _id로 save 하는 과정에서 오류 발생
해결 방법
후보 1 - redis에서 DB로 업데이트 하는 주기를 증가시킨다
- 요청을 모두 처리할 수 있도록 충분히 긴 시간을 주기로 설정하기
- 주기가 길어질수록 설문지의 응답이 DB상에 늦게 반영된다는 문제가 있음
- 요청이 늘어날수록 주기를 계속 증가시켜 주어야 함
후보 2 - 30초 안에 처리할 수 있을 만큼만 처리하기
- 30초안에 충분히 처리할 수 있을 만큼만 작업을 분배한다
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels