본문으로 건너뛰기

ADR-002: 사주 계산

상황 (Context)

서비스의 핵심 기능인 "사주 기반 매칭"을 위해 사용자의 생년월일(음력 또는 양력)로부터 정확한 사주 정보(8자, 오행, 기운)를 산출해야 한다. 직접 구현할 경우 음력/양력 변환, 십간십이지, 오행 분석 등 복잡한 동학 로직이 필요하다.

의사결정 (Decision)

Ablecity REST API 사용 (제3자 사주 계산 서비스)

  • 사용자 생년월일을 Ablecity API로 전송
  • 응답으로 8자(천간·지지), 오행 정보, 기운 점수 수신
  • 계산 결과를 DB에 캐싱
  • 비동기 콜백(ADR-004)으로 사주 상세 정보(궁합, LLM 운세) 생성

근거 (Rationale)

  1. 정확성: 전문 사주 알고리즘이 검증된 서비스 사용
  2. 개발 속도: 음력/양력 변환, 십간십이지 로직 구현 불필요
  3. 유지보수: 동학 변경사항은 Ablecity가 관리
  4. 비용: API 호출당 과금 (초기 트래픽 수준에서 경제적)

결과 (Consequences)

✅ 긍정

  • 정확성 높은 사주 정보 제공
  • 개발 기간 단축
  • 전문 서비스 위임으로 서버 부하 감소

⚠️ 위험

  • Ablecity API 장애 시 신규 사주 등록 불가
  • API 비용 증가에 따른 수익성 압박
  • 제3자 서비스 의존도 높음

완화 전략

  • Circuit Breaker 패턴으로 API 장애 격리
  • 사주 정보 DB 캐싱으로 재호출 최소화
  • 대체 운세 생성 로직 (기본 텍스트) 준비

출시 전 확인사항

  • Ablecity API SLA 확인 (목표: 99.5% 이상)
  • 100케이스 정확도 검증 (음력/양력 혼합)
  • API 요청 비용 계산 (DAU 1000명 기준)
  • Circuit Breaker 임계값 설정 테스트

상태: ✅ 승인됨 | 최종 수정: 2026-06-25