백엔드, 데이터 및 보안 더 많은 세부 정보 C · 업계 관례 플랫폼: 웹

Saga Pattern

사가 패턴

사가는 여러 저장된 단계를 하나의 비즈니스 작업으로 연결합니다. 나중 단계에서 실패가 발생하면, 이전에 일어난 일을 수정하기 위해 다시 시도하거나 다른 단계를 추가합니다.

당신은 이것을 이렇게 부를 수 있습니다 Saga Pattern분산 사가사가 워크플로사가 트랜잭션

작동 방식을 확인하세요

원본 작업 예제사가 패턴
상태 및 복구사가 패턴saga ID + local transaction -> next step; failure -> retry | compensation -> terminal state
여행 예약호텔 실패
  1. ✓비행 보류flight_tx_7
  2. ✓카드 충전됨pay_tx_8
  3. !호텔 이용 불가hotel_tx_9
↶ 보상 완료saga: cancelled
안전하게 유지각 서비스는 로컬 단계를 커밋하고 발생한 일을 기록합니다.복구전달 작업을 재시도하거나 명시적 보상 작업을 실행합니다.
saga ID + local transaction -> next step; failure -> retry | compensation -> terminal stateJOB
사가 패턴백엔드 신뢰성

다른 예시

주문 `984`는 재고를 예약하고 NT$248를 승인한 후 배송을 요청합니다. 배송은 주소를 거부합니다. 사가는 승인을 취소하고 동일한 사가 ID로 재고를 해제합니다. 그런 다음 주문을 보상된 것으로 기록합니다.

주요 부분

  1. 01사가 ID 및 상태
  2. 02참여 서비스
  3. 03로컬 트랜잭션
  4. 04결과 메시지
  5. 05재시도 또는 보상
  6. 06감사 및 수동 복구

사용할 때

하나의 비즈니스 작업이 여러 서비스나 데이터 저장소에 걸칠 때 사가를 사용하세요. 전체 작업을 한 번에 처리할 수 있는 단일 데이터베이스 단계로는 충분하지 않을 때만 사용하세요. 저장된 각 단계, 다음 행동, 재시도, 수정 행동 및 최종 상태를 정의하세요.

다음 경우에는 사용하지 마세요

하나의 데이터베이스 저장으로 전체 작업을 완료할 수 있을 때는 사가를 추가하지 마십시오. 수정 작업은 새로운 작업입니다. 실패할 수 있거나 다른 결과를 남길 수 있습니다. 실행을 되돌리는 것이 안전하지 않을 때는 사람에게 물어보십시오.

코드에서 사용된 이름

saga ID + local transaction -> next step; failure -> retry | compensation -> terminal state

출시하기 전에

Check contracts and invariants, authorization, and input limits. Test retries, one-time effects, timeouts, and partial failures. Verify data integrity, compatibility, monitoring, recovery, and rollback.

복사 가능한 요청

Outcome:Complete the task with 사가 패턴 (Saga Pattern)。 User context:주문 `984`는 재고를 예약하고 NT$248를 승인한 후 배송을 요청합니다. 배송은 주소를 거부합니다. 사가는 승인을 취소하고 동일한 사가 ID로 재고를 해제합니다. 그런 다음 주문을 보상된 것으로 기록합니다. Technical concept or control:사가 패턴 (Saga Pattern)。 Why it fits:하나의 비즈니스 작업이 여러 서비스나 데이터 저장소에 걸칠 때 사가를 사용하세요. 전체 작업을 한 번에 처리할 수 있는 단일 데이터베이스 단계로는 충분하지 않을 때만 사용하세요. 저장된 각 단계, 다음 행동, 재시도, 수정 행동 및 최종 상태를 정의하세요. Do not use it when:하나의 데이터베이스 저장으로 전체 작업을 완료할 수 있을 때는 사가를 추가하지 마십시오. 수정 작업은 새로운 작업입니다. 실패할 수 있거나 다른 결과를 남길 수 있습니다. 실행을 되돌리는 것이 안전하지 않을 때는 사람에게 물어보십시오. Engineering requirements: Define inputs, outputs, contracts, and rules that must always hold. Set authorization and input checks. Define failures, timeouts, retries, one-time effects, data moves, and compatibility limits. Operations: Add useful signals and logs that hide sensitive data. Set capacity limits and write an operator guide. Test recovery and rollback. Acceptance criteria: Contract and failure-path tests pass. Data and authorization rules still hold during retries and partial failures. Check performance limits, monitoring, recovery, and rollback. Evidence and limits (evidence boundary):하나의 공식 표준이 전체 용어를 통제하지 않음. 의미는 팀, 플랫폼 또는 프레임워크마다 달라질 수 있음. Unknowns to confirm: Where the code runs, data stores, traffic shape, consistency needs, and the security boundary. Also confirm the compatibility period, service goals, and rollback limits.

이 요청을 확인하세요

Review how 사가 패턴 (Saga Pattern) is used now. Definition: 사가는 여러 저장된 단계를 하나의 비즈니스 작업으로 연결합니다. 나중 단계에서 실패가 발생하면, 이전에 일어난 일을 수정하기 위해 다시 시도하거나 다른 단계를 추가합니다. Release checks: Check contracts and invariants, authorization, and input limits. Test retries, one-time effects, timeouts, and partial failures. Verify data integrity, compatibility, monitoring, recovery, and rollback. Before changing code, list the evidence, gaps, severity, and the smallest safe fix.

C
이 용어는 얼마나 공식적인가요?

업계 관례

사람들은 직장에서 이 용어를 자주 사용합니다. 나열된 출처는 실습이나 제한을 지원할 수 있습니다. 모든 부분의 정의를 제공하지는 않습니다.

하나의 공식 표준이 전체 용어를 통제하지 않음. 의미는 팀, 플랫폼 또는 프레임워크마다 달라질 수 있음.

범위
소스가 포함하는 것만:정규 이름、정의、구현、사용 안내、피해야 할 상황 안내
문서 상태
안정적인
선택됨
2026-07-30

증거 출처 및 범위

권위 있는 출처 + 용어 참조 · Amazon Web Services · 안정적인 Saga patterns 범위: 정규 이름、정의、구현、사용 안내、피해야 할 상황 안내 여기 역할: 직접 용어 참조 출처 범위: 정규 이름, 정의, 구현, 사용 안내, 피해야 할 상황 안내 배경 근원 Azure Architecture Center — Compensating Transaction pattern 여기 역할: 정의가 아닌 유용한 배경

직접 복사

브라우저가 이것을 복사할 수 없습니다. 아래 요청을 선택하고 직접 복사하세요.