논리적 사고

AI가 응답을 못 받았다고 다시 실행하면 주문이 두 번 생길까?

첫 요청이 처리됐지만 응답만 사라진 경우를 살펴봅니다. 같은 작업 키를 쓰는 재시도와 새 요청으로 처리하는 재시도의 결과를 비교합니다.

첫 주문 요청의 결과를 받지 못한 뒤 같은 작업 키로 재시도하면 기존 결과를 찾고, 새 키로 재시도하면 중복 주문 가능성이 생기는 관계 그림입니다.
첫 주문 요청의 결과를 받지 못한 뒤 같은 작업 키로 재시도하면 기존 결과를 찾고, 새 키로 재시도하면 중복 주문 가능성이 생기는 관계 그림입니다.
그림 크게 열기 ↗SVG 저장

그림에서 무엇을 볼까요?

첫 주문 요청의 결과를 받지 못한 뒤 같은 작업 키로 재시도하면 기존 결과를 찾고, 새 키로 재시도하면 중복 주문 가능성이 생기는 관계 그림입니다.

클라이언트가 응답을 받지 못한 이유는 여러 가지입니다. 요청이 서버에 닿기 전에 끊겼을 수도 있고, 서버가 주문을 만든 뒤 응답이 돌아오는 길에 사라졌을 수도 있습니다. 클라이언트만 보면 두 상태가 모두 ‘응답 없음’으로 보일 수 있습니다.

두 번째 상태에서 새 주문 요청을 보내면 같은 주문이 두 번 만들어질 수 있습니다. 따라서 부작용이 있는 작업은 재시도 전에 원래 처리 상태를 확인할 방법이 필요합니다.

함께 확인할 점

첫 요청의 서버 처리 여부와 응답 수신 여부, 재시도 때 같은 작업 키를 쓰는지를 바꾸는 교육용 모형입니다. 같은 키와 같은 요청 본문을 서버가 기억해 기존 결과를 돌려준다고 가정합니다. 실제 결제·주문 시스템을 호출하지 않습니다.

생각해 볼 질문

‘요청이 서버에 닿지 않음’과 ‘처리됐지만 응답이 사라짐’을 구분해, 각각 같은 작업 키로 재시도했을 때 예상되는 주문 수를 설명해 보세요.

← 논리적 사고 그림 더 보기