-
Notifications
You must be signed in to change notification settings - Fork 1
트러블 슈팅 ‐ 결제 후 처리 딜레이가 너무 긴 문제 해결
Mingi Kim edited this page May 7, 2024
·
1 revision
- 이메일 전송구현 이후, 이메일을 전송하는데에 있어 딜레이가 발생하여, DB 업데이트와 클라이언트에게 결제 완료 알림이 이메일 전송 주기에 맞춰 느리게 진행되고, 전체적인 성능저하가 발생.
- 트랜잭션 처리 문제: 현재의 트랜잭션 처리 방식은 이메일 전송 로직을 포함하고 있어, 이메일 전송의 지연이 전체 트랜잭션의 완료 시간에 영향을 주며, 전체 시스템의 응답성 저하로 이어진다.
- 비동기 처리의 도입: 결제 정보의 DB 저장과 이메일 전송 로직을 비동기적으로 처리하여, 사용자의 결제 완료 응답이 이메일 전송 완료와 독립적으로 이루어질 수 있도록 한다.
-
분리된 비동기 로직:
- 동기 처리: 결제 검증 및 예약 결제 상태 변경
- 비동기 처리: 결제 정보 저장 및 이메일 전송
- 서버 작업의 부하를 분산시키는 데 도움이 되며, 메시지 큐를 사용함으로써 이메일 전송 실패 시 재시도 등의 처리를 기대할 수 있다.