← 회차 전체 문제편집복원내용 검수 완료2024년 정보처리기사 2회 필기 · 소프트웨어 개발 · 25번
메시지 큐가 at-least-once 전달을 사용할 때 동일 이벤트가 재전송되어 업무 처리가 중복 반영되는 것을 막는 소비자 설계는?
- 1
메시지를 받자마자 ACK한 뒤 업무 처리를 시작한다.
오답 이유업무 처리 전에 ACK하면 중복은 줄어도 처리 도중 장애가 날 때 메시지를 잃을 수 있어 전달 보장을 훼손한다. - 2
메시지 재시도 횟수를 1회로 제한한다.
오답 이유재시도를 제한해도 ACK 유실이나 소비자 장애로 이미 전달된 이벤트의 중복 처리를 판별할 수 없다. - 3
소비자 동시 실행 수를 1개로 고정한다.
오답 이유소비자를 하나만 실행해도 ACK 전에 장애가 나면 동일 이벤트가 다시 전달될 수 있다. - 4
이벤트 ID의 처리 여부를 업무 상태 변경과 같은 트랜잭션에 기록하는 멱등 소비자
정답 근거이벤트 ID의 처리 기록과 업무 변경을 원자적으로 저장하면 같은 이벤트가 다시 와도 상태가 한 번만 변경된다.
정답·상세해설정답 4번
at-least-once 전달은 처리 후 ACK 전에 장애가 나면 같은 이벤트를 다시 보낼 수 있다. 이벤트 ID의 처리 여부와 업무 상태 변경을 같은 트랜잭션에 기록하면 재전송된 이벤트는 이미 처리된 것으로 판별되어 상태를 다시 바꾸지 않는다.
콘텐츠 기록콘텐츠 정보
- 자료 유형
- 편집복원
- 검수 상태
- 내용 검수 완료
- 최종 검수
- 2026-08-21