Mainbrella, 응답 유실 때 머신 중복 생성을 막는 백엔드 설계 공개
Mainbrella가 오픈소스 백엔드의 재시도·장애 복구 설계를 설명했다. 머신 실행 전에 자원 예약과 생성 영수증을 함께 저장해 응답이 사라져도 같은 요청으로 재생성하지 않는다. 관리형 작업은 연결이 끊겨도 계속되지만, 런타임 재시작 때는 미완료 작업을 중단 처리하고 자동 재실행하지 않는다.
생성 요청의 Idempotency-Key와 구성 지문을 저장한다. 같은 키로 구성을 바꾸면 충돌하며, 생성 영수증은 24시간 유지된다.
증가하는 예약 번호와 머신 세대 식별자를 사용해 지연된 시작·취소 요청이 새 머신에 영향을 주지 못하게 한다.
관리형 작업은 최대 15분이며 요청 시간 제한과 머신 잔여 임대 시간에도 제한된다. 출력은 1MiB까지로, 한도에 도달하면 작업을 종료하고 잘림 상태를 기록한다.
작업 공간 복원은 파일시스템만 되살린다. RAM·실행 중 프로세스·사설 서비스 등록은 복원하지 않으며, 설명에 사용한 수명주기 테스트는 모의 공급자 상태를 사용한다.
외부 시스템을 변경하는 에이전트 작업에서는 결과 조회 재시도와 명령 재실행을 구분해야 중복 처리를 줄일 수 있다.
원문
- When the machine boots but the reply disappearsmainbrella.com · 원문 2026-10-08