inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법

4-12. 실제 예시 코드로 작성하기 - 1

후보정 로직에 대해 궁금한 것이 있습니다.

해결된 질문

93

gogoDevelop

작성한 질문수 19

0

4-12강 스케쥴러를 활용해서 5분마다 누락된 예약번호를 보정하는 방식인데요.

만약 이럴 경우 예약 직후 예약정보를 조회하는 사용자 입장에서는 예약번호가 없어서 해당 정보창에 문제가 발생할 거 같은데, 이러면 후보정 방식은 위험한 게 아닐까 하는 의문이 들었습니다.이런 건 지금 따지지 말고 수업용으로 유연하게 넘어가는 게 맞는걸까요?

java spring mysql redis 이력서

답변 2

0

딩코딩코

안녕하세요 이력서 강의의 열수강생 gogoDevelop님!!! 🔥🔥🔥🔥


좋은 질문 해주셔서 감사합니다!! 강의에서 설명드린 방식은 이론적으로는 데이터 정합성을 보장하지만, 말씀하신대로 실제 서비스에서는 말씀해주신대로 고려해야 할 부분이 더 있습니다!

 

말씀해주신 것처럼 예약 직후 사용자가 예약 정보를 조회했을 때 예약번호가 없다면 불완전한 경험을 제공하게 됩니다. 이는 "예약 완료"라고 안내했는데 정작 예약 정보가 없어 보이는 모순된 상황을 만들 수 있습니다.

따라서 다음과 같은 추가 처리가 필요합니다! 예약번호가 없을 때 "처리 중" 같은 상태를 보여주고, 자동 새로고침이나 안내 메시지를 제공합니다. 또한 스케줄러로 5분마다 체크하는 것과 별개로, 예약 직후 예약번호 저장 실패 시 즉시 1-2회 재시도하는 로직 추가하는 방법도 있을 것 같습니다! 만약 예약번호가 즉시 필요한 서비스라면 아예 동기식으로 로직을 변경해야 하는 경우도 있을 것 같아요

 

질문해주신 내용은 실제 서비스 개발 시 매우 중요한 고민 포인트입니다. 강의에서 다룬 후보정 방식은 기본 패턴으로, 실제 적용 시에는 다음과 같은 고려사항을 추가로 반영해보면 좋을 것 같습니다

  1. 사용자 경험을 해치지 않는 추가적인 UI/UX 전략

  2. 즉시 재시도와 정기적 보정의 조합

  3. 비즈니스 중요도에 따른 동기/비동기 처리 선택

오늘도 좋은 질문 감사드립니다!!

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. gogoDevelop님.

후보정 로직에 대한 고민이 있으시군요. 질문에서 언급하신 상황처럼 스케쥴러를 활용하여 주기적으로 보정하는 방식은 간편하지만, 실시간 데이터를 필요로 하는 상황에선 문제가 생길 수 있습니다. 예약 직후 사용자가 그 정보를 즉시 조회해야 하는 경우라면, 후보정 로직이 있는 시스템이 실시간 사용 시 사용자 경험에 부정적인 영향을 줄 수 있습니다.

고려해볼 사항들:

  1. 실시간 데이터 요구:

    • 중요 데이터는 시스템 반영 시점과 사용자에게 노출되는 시점의 일치가 필요합니다.
    • 다른 보정 방법이나 최대한 빠르게 데이터를 반영하는 방법을 고려해야 합니다.
  2. 보정 주기나 트리거 방식:

    • 5분 주기의 스케쥴링이 아닌, 트리거 방식으로 특정 이벤트 발생 시 즉시 보정하는 방법도 있습니다.
    • 예약 발생 시 즉각적으로 데이터가 반영되도록 개선할 수 있습니다.
  3. 유연성 확보:

    • 현실의 시스템에서는 성능 최적화, 사용자 요구사항 등을 고려하여 구현합니다.
    • 수업에서는 이론적 개념이나 예제로 이해하는 것이 목적일 수 있으니, 실무 적용 시 다른 전략이 필요할 수 있음을 인지하고 유연하게 접근하는 것이 중요합니다.

추가적인 사항들은 백엔드 성능 및 데이터 처리 최적화 관련 강의들이나 관련 자료들을 참고하여 보완할 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

조회속도 개선에서 더 개선하는 방법이 궁금합니다.

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