웹 채널 및 구독 동기화 통합

웹 채널 및 구독 동기화 통합

ADR-250 웹 채널 및 구독 동기화 통합

1. Metadata

  • ADR ID: ADR-250
  • Status: draft
  • Date: 2026-03-09
  • Owner: YSY

2. Domain Decision

  • 해당 없음

3. Product Decision

  • 사용자 웹은 조회 중심 채널로 운영하고 상태 변경 액션은 제한한다.

4. UX Decision

  1. 웹 위치권한 실패 시 지역 선택 fallback을 제공한다.
  2. 공유 가능한 고정 URL(슬롯 단위)을 제공한다.

5. Tech Decision

  1. 웹 배포는 정적/엣지 배포(CDN 기반)와 CI 자동 배포를 기본으로 한다.
  2. 구독 상태 동기화는 결제 웹훅 이벤트를 단일 기준으로 처리한다.
  3. 웹 조회 API는 공개 읽기 모델을 사용하되 RLS/RPC 경계로 제한한다.

6. Ops Decision

  • 웹 배포 실패/웹훅 지연/동기화 누락에 대한 운영 점검 절차를 유지한다.

7. Implementation Contract (Optional)

7.1 API Contract

  • 웹 채널 API는 조회 전용 엔드포인트만 공개한다.
  • 구독 동기화는 내부 웹훅 수신 엔드포인트로만 처리한다.

7.2 Data Contract

  • 공유 URL은 슬롯 단위 고정 식별자와 매핑한다.
  • 웹 채널 읽기 모델은 권한 경계(RLS/RPC) 내에서만 조회 가능해야 한다.

7.3 Error/Observability Contract

  • 웹훅 지연/실패는 WEBHOOK_SYNC_DELAYED 이벤트로 추적한다.
  • 웹 조회 API 에러율과 동기화 지연 시간을 운영 지표로 관리한다.

7.4 Test/Acceptance Contract

  • 웹 채널에서 상태 변경 요청은 모두 차단되어야 한다.
  • 웹훅 재전송 시 구독 상태가 중복 반영되지 않아야 한다.

8. Validation

  • Domain/Product/UX/Tech/Ops 결정이 충돌하지 않는다.
  • 구현 기준은 SPEC과 정합성을 유지한다.
  • 운영 절차는 RUNBOOK으로 연결된다.