Study

멱등성

kinim329 2026. 4. 26. 23:11

멱등성이란?

멱등성은 같은 요청을 여러번 수행해도 결과가 한 번 수행한 것과 동일하게 유지되는 성질을 이야기한다.

즉, 요청이 반복되더라도 결과가 변하지 않아야 한다.

금액 처리 예시로 보는 멱등성

멱등성이 없는 경우

사용자는 한 번만 입금하려고 했지만, 동일한 요청이 여러 번 처리될 수 있다.

예를 들어

  1. 사용자가 입금 버튼을 한 번 클릭
  2. 로딩이 오래걸림
  3. 요청이 안 된건가? 라고 생각해서 입금 버튼을 여러번 클릭

이 때 실제로는 첫번째 요청도 처리중이고 추가로 보낸 요청들도 모두 처리되면 사용자의 의도는 10000원 입금이었지만 20000원, 30000원이 입금 될 수도 있다.

 

이처럼 사용자의 의도와 다르게 동일한 요청이 여러 번 처리될 수 있기 때문에 멱등성 처리가 중요하다.

 

멱등성이 있는 경우

같은 값을 여러 번 설정해도 결과가 항상 동일하다.

위에서 설명한 상황처럼

  1. 사용자가 10000원 입금 버튼 클릭
  2. 로딩이 길어져서 여러 번 클릭

이 때 요청을 여러번 들어왔지만 서버가 동일한 요청으로 판단해서 한번만 처리해서 결과적으로 잔액은 10000원만 증가한다.

이렇게 여러 번 요청이 들어왔지만 결과는 한 번 수행한 것과 동일하게 유지된다면 멱등성이 있다고 볼 수 있다.

 

멱등성을 보장하기 위한 방법

그렇다면 이런 멱등성 처리를 어떻게 해결할 수 있을까?

단순히 생각하면 같은 요청인지 구분하고, 이미 처리된 요청은 다시 처리하지 않는 것이다

예시로

  1. 사용자가 입금 요청을 보낸다
  2. 서버는 해당 요청을 처리하면서 이미 처리된 요청인지 기록해둔다
  3. 이후 동일한 요청이 다시 들어오면 새로 처리하지 않고 이전에 처리한 결과를 그대로 반환한다.

이렇게 하면 여러 번 요청이 들어오더라도 결과는 항상 한 번 수행한 것과 동일하게 유지된다.

'Study' 카테고리의 다른 글

Inbox / Outbox 패턴 정리  (0) 2026.04.30
데이터 정합성  (0) 2026.04.27
라우터 / 스위치 / 허브 차이  (0) 2026.04.25
IP 주소 / 서브넷 마스크 / 공인 IP & 사설 IP  (0) 2026.04.24
OSI 7계층 / TCP-IP 4계층  (0) 2026.04.23