ADR-002: 사주 계산
상황 (Context)
서비스의 핵심 기능인 "사주 기반 매칭"을 위해 사용자의 생년월일(음력 또는 양력)로부터 정확한 사주 정보(8자, 오행, 기운)를 산출해야 한다. 직접 구현할 경우 음력/양력 변환, 십간십이지, 오행 분석 등 복잡한 동학 로직이 필요하다.
의사결정 (Decision)
Ablecity REST API 사용 (제3자 사주 계산 서비스)
- 사용자 생년월일을 Ablecity API로 전송
- 응답으로 8자(천간·지지), 오행 정보, 기운 점수 수신
- 계산 결과를 DB에 캐싱
- 비동기 콜백(ADR-004)으로 사주 상세 정보(궁합, LLM 운세) 생성
근거 (Rationale)
- 정확성: 전문 사주 알고리즘이 검증된 서비스 사용
- 개발 속도: 음력/양력 변환, 십간십이지 로직 구현 불필요
- 유지보수: 동학 변경사항은 Ablecity가 관리
- 비용: API 호출당 과금 (초기 트래픽 수준에서 경제적)
결과 (Consequences)
✅ 긍정
- 정확성 높은 사주 정보 제공
- 개발 기간 단축
- 전문 서비스 위임으로 서버 부하 감소
⚠️ 위험
- Ablecity API 장애 시 신규 사주 등록 불가
- API 비용 증가에 따른 수익성 압박
- 제3자 서비스 의존도 높음
완화 전략
- Circuit Breaker 패턴으로 API 장애 격리
- 사주 정보 DB 캐싱으로 재호출 최소화
- 대체 운세 생성 로직 (기본 텍스트) 준비
출시 전 확인사항
- Ablecity API SLA 확인 (목표: 99.5% 이상)
- 100케이스 정확도 검증 (음력/양력 혼합)
- API 요청 비용 계산 (DAU 1000명 기준)
- Circuit Breaker 임계값 설정 테스트
상태: ✅ 승인됨 | 최종 수정: 2026-06-25