RAIFFA / 기술 노트

부분 실행과 미확인 결과 관리

RAIFFA는 완료된 작업과 확인되지 않은 결과를 추적합니다.

01

완료를 확인한 범위부터 분명히 합니다.

여러 대상을 처리하는 작업은 한 번에 같은 상태가 되지 않을 수 있습니다. 일부는 완료됐고 일부는 실패했으며, 나머지는 응답을 받지 못해 결과를 모를 수 있습니다. 전체 요청에 성공이나 실패 하나만 붙이면 다음에 해야 할 일을 정확히 정하기 어렵습니다.

RAIFFA는 실제 수행과 결과 확인을 분리해 다룹니다. 어떤 대상의 어떤 결과를 확인했는지, 수행 기록만 있는지, 확인할 근거가 없는지를 구분해야 합니다. 결과를 모르는 상태를 실패로 단정하거나 요청을 보냈다는 이유로 완료로 처리하지 않습니다.

02

재시도 전에 이미 일어난 일을 확인합니다.

응답이 없다는 이유만으로 같은 작업을 반복하면 이미 처리된 대상에 같은 효과를 다시 만들 수 있습니다. 반대로 실패가 확인된 대상은 필요한 조건을 바로잡은 뒤 별도로 검토할 수 있습니다. 재시도의 출발점은 요청 전체를 반복하는 버튼이 아니라 대상별 현재 상태입니다.

무엇을 다시 요청할지, 기존 허용 범위가 적용되는지, 어떤 확인이 먼저 필요한지 나누어 살핍니다. 중복 수행을 피하는 구체적인 방식은 대상 시스템과 연결 방식에 달려 있습니다. 재시도 전에 해당 연결이 중복 요청과 미확인 결과를 어떻게 처리하는지 확인해야 합니다.

03

다음 행동과 그 결과 확인을 함께 정합니다.

재시도를 검토한다면 어느 대상에 어떤 행동을 다시 요청할지 명확히 해야 합니다. 필요한 권한과 조건을 확인하고, 그 이후 무엇을 결과의 증거로 볼 것인지도 정합니다. 재시도 요청을 만들었다는 사실과 재시도가 실제로 완료됐다는 사실은 다릅니다.

작업을 마감할 때는 확인된 완료 범위와 아직 해결하지 못한 부분을 함께 읽을 수 있어야 합니다. 이렇게 하면 다음 담당자가 처음 요청부터 추측하지 않고, 완료된 대상과 추가 확인이 필요한 대상을 구분해 이어갈 수 있습니다. 실제 결과 확인 방식은 해당 구현과 운영 환경에서 검증해야 합니다.