ICA — 이스티오 인증 어소시에이트 · 재시도와 업무 트랜잭션의 경계 · 퀴즈
퀴즈: 재시도와 업무 원자성
문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.
attempts 2, 전체 timeout 1s, perTryTimeout 1s에서 업스트림이 빠르게 503을 반환한다. 정확한 설명은?
- 최초 시도까지 두 번이며 각 시도에 반드시 1초가 든다
- 최초 시도에 예산을 전부 예약하므로 추가 전송은 없다
- 최대 세 번 가능하지만 총 예산 때문에 덜 실행될 수 있다
- 추가 시도마다 전체 예산이 초기화되어 최대 3초를 쓴다
클라이언트는 504인데 같은 업무 키의 서버 기록과 응답이 이미 저장됐다. 다음 행동으로 적절한 것은?
- 기존 업무 키로 상태나 저장된 응답을 확인한다
- 전송 ID를 업무 키로 바꿔 새 업무를 제출한다
- 504를 롤백으로 간주해 기존 기록을 삭제한다
- 금액이 같은 다른 주문의 성공 응답을 대신 쓴다
업무 쓰기를 커밋한 뒤 중복 키를 다른 트랜잭션으로 저장한다. 두 커밋 사이에 프로세스가 죽으면?
- 새 프로세스가 이전 연결의 열린 트랜잭션을 계속한다
- 업무 키가 없으므로 이미 커밋된 업무도 자동 취소된다
- SQLite가 다음 요청의 업무 키를 추론해 기록을 채운다
- 업무만 남아 같은 키의 재시도가 새 업무를 만들 수 있다
같은 업무 키에 고객은 같고 금액만 다른 요청이 왔다. 중복 처리 정책으로 적절한 것은?
- 업무 키가 같으므로 새 금액으로 이전 응답을 덮어쓴다
- 내용 지문 불일치를 거절하고 기존 업무를 보존한다
- 금액이 다르므로 별개 키를 서버가 임의로 생성한다
- 최근 요청이 더 정확하다고 보고 기존 업무를 취소한다
파드 UID가 바뀐 뒤 같은 VM hostPath의 SQLite에서 기존 응답을 읽었다. 이 결과가 직접 입증한 범위는?
- VM 삭제 후에도 별도 백업 없이 업무를 복구할 수 있다
- 외부 결제사와 로컬 기록을 하나의 커밋으로 묶었다
- 같은 VM 디스크가 남은 파드 교체에서 응답을 재사용했다
- 전원 차단과 네트워크 파일시스템의 원자성을 검증했다
고객·금액이 같은 두 개의 실제 주문이 서로 다른 업무 키로 도착했다. 올바른 처리는?
- 두 업무를 각각 저장하되 각 키의 재전송만 합친다
- 내용 지문이 같으면 두 주문을 하나의 업무로 합친다
- 두 키 중 사전순으로 앞선 키만 유효한 주문으로 본다
- 동시에 도착했다면 충돌로 간주해 두 주문 모두 거절한다