후보정 로직에 대해 궁금한 것이 있습니다.
4-12강 스케쥴러를 활용해서 5분마다 누락된 예약번호를 보정하는 방식인데요.
만약 이럴 경우 예약 직후 예약정보를 조회하는 사용자 입장에서는 예약번호가 없어서 해당 정보창에 문제가 발생할 거 같은데, 이러면 후보정 방식은 위험한 게 아닐까 하는 의문이 들었습니다.이런 건 지금 따지지 말고 수업용으로 유연하게 넘어가는 게 맞는걸까요?
답변 2
0
안녕하세요 이력서 강의의 열수강생 gogoDevelop님!!! 🔥🔥🔥🔥
좋은 질문 해주셔서 감사합니다!! 강의에서 설명드린 방식은 이론적으로는 데이터 정합성을 보장하지만, 말씀하신대로 실제 서비스에서는 말씀해주신대로 고려해야 할 부분이 더 있습니다!
말씀해주신 것처럼 예약 직후 사용자가 예약 정보를 조회했을 때 예약번호가 없다면 불완전한 경험을 제공하게 됩니다. 이는 "예약 완료"라고 안내했는데 정작 예약 정보가 없어 보이는 모순된 상황을 만들 수 있습니다.
따라서 다음과 같은 추가 처리가 필요합니다! 예약번호가 없을 때 "처리 중" 같은 상태를 보여주고, 자동 새로고침이나 안내 메시지를 제공합니다. 또한 스케줄러로 5분마다 체크하는 것과 별개로, 예약 직후 예약번호 저장 실패 시 즉시 1-2회 재시도하는 로직 추가하는 방법도 있을 것 같습니다! 만약 예약번호가 즉시 필요한 서비스라면 아예 동기식으로 로직을 변경해야 하는 경우도 있을 것 같아요
질문해주신 내용은 실제 서비스 개발 시 매우 중요한 고민 포인트입니다. 강의에서 다룬 후보정 방식은 기본 패턴으로, 실제 적용 시에는 다음과 같은 고려사항을 추가로 반영해보면 좋을 것 같습니다
사용자 경험을 해치지 않는 추가적인 UI/UX 전략
즉시 재시도와 정기적 보정의 조합
비즈니스 중요도에 따른 동기/비동기 처리 선택
오늘도 좋은 질문 감사드립니다!!
0
안녕하세요, 인프런 AI 인턴입니다. gogoDevelop님.
후보정 로직에 대한 고민이 있으시군요. 질문에서 언급하신 상황처럼 스케쥴러를 활용하여 주기적으로 보정하는 방식은 간편하지만, 실시간 데이터를 필요로 하는 상황에선 문제가 생길 수 있습니다. 예약 직후 사용자가 그 정보를 즉시 조회해야 하는 경우라면, 후보정 로직이 있는 시스템이 실시간 사용 시 사용자 경험에 부정적인 영향을 줄 수 있습니다.
고려해볼 사항들:
실시간 데이터 요구:
- 중요 데이터는 시스템 반영 시점과 사용자에게 노출되는 시점의 일치가 필요합니다.
- 다른 보정 방법이나 최대한 빠르게 데이터를 반영하는 방법을 고려해야 합니다.
- 중요 데이터는 시스템 반영 시점과 사용자에게 노출되는 시점의 일치가 필요합니다.
보정 주기나 트리거 방식:
- 5분 주기의 스케쥴링이 아닌, 트리거 방식으로 특정 이벤트 발생 시 즉시 보정하는 방법도 있습니다.
- 예약 발생 시 즉각적으로 데이터가 반영되도록 개선할 수 있습니다.
- 5분 주기의 스케쥴링이 아닌, 트리거 방식으로 특정 이벤트 발생 시 즉시 보정하는 방법도 있습니다.
유연성 확보:
- 현실의 시스템에서는 성능 최적화, 사용자 요구사항 등을 고려하여 구현합니다.
- 수업에서는 이론적 개념이나 예제로 이해하는 것이 목적일 수 있으니, 실무 적용 시 다른 전략이 필요할 수 있음을 인지하고 유연하게 접근하는 것이 중요합니다.
- 현실의 시스템에서는 성능 최적화, 사용자 요구사항 등을 고려하여 구현합니다.
추가적인 사항들은 백엔드 성능 및 데이터 처리 최적화 관련 강의들이나 관련 자료들을 참고하여 보완할 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
조회속도 개선에서 더 개선하는 방법이 궁금합니다.
0
17
2
Build 관련 문제 (테스트 관련 문제)
0
40
2
인덱스 관련 질문 있습니다.
0
65
2
비관적 락 구현 방식 문의 건
0
67
2
외부 api 처리 방안에 대하여 궁금한 점이 있습니다.
0
87
2
네임드 락 사용 시 커넥션 풀을 분리하는 방법에 대한 질문
0
78
2
이벤트) 백엔드 기술면접 실전문제집
0
100
2
로컬에서 테스트 한 결과를 이력서에 써도 괜찮을까요?
0
128
2
데드락 발생 시, 외래 키를 제거하는 방법 관련 질문
0
83
2
Redis 캐싱을 도입하는데 db조회와 성능이 차이가 거의 없습니다.
0
108
2
k6 부하테스트 중인데 개선 전 성능이 너무 안나와서 고민
0
119
2
강의와 성능수치 비교
0
101
2
13강 강의 뒷부분의 과제 안내부분은 어디있나요?
0
50
2
이벤트 참가자 수 증가 후, save 메서드 호출 코드 질문
0
64
2
[수업 자료 질문] Cache Aside의 특징 문의
0
82
2
[수업자료 문의] RedisTemplate으로 SETNX 시 리턴값 문의
0
79
2
블로그에 학습 내용 정리 포스트를 올려도괜찮나요?
0
108
2
멀티스레드 상황인데 currentParticipants 가 AtomicInteger가 아닌 이유?
0
86
3
클라우드 환경 배포시 부하 테스트 방식에 대하여
0
136
2
k6 dashboad 안나오는 상
0
111
2
2-4 도커 빌드 에러가 계속 납니다.
0
296
2
AWS EC2에 도커 컨테이너가 동작하지 않을 때 확인 해야하는 것
0
113
2
성능 측정시
0
109
2
API 별 실행 쿼리 모니터링 구현 질문 있습니다.
0
82
2





