acquire-core-x/docs/OPS_RUNBOOK.md
hyeongwoo bba433308a Wave K: 잔여 패리티 갭 완결 (패리티 80%→~87%)
패리티 분석의 남은 갭(온보딩·KYC·3자대사·ISO전문·계정체계·비기능)을 마무리.

■ 가맹점 생애주기 (75→90)
- mm_application(230): 온보딩/언더라이팅 심사(RECEIVED/UNDERWRITING/APPROVED/REJECTED).
- mm_kyc(1,150): KYC/AML 5종(IDENTITY/SANCTION/PEP/AML/CREDIT).
- 서비스 MM_ONBOARD(상태기계+MID발급, 부적법전이 거부)·MM_KYC_CHECK.

■ 원장·회계·대사 (80→90)
- lg_account(10): 계정과목 — suspense(미결)/clearing(정산대기) 분리.
- rc_3way(16,185): 3자대사 카드망↔내부원장↔은행입금. 서비스 RC_3WAY.

■ 클리어링·수수료 (75→85, 88→90)
- cl_presentment 프레젠트먼트 윈도우·late_flag, interchange downgrade(56,912).
- ISO8583 취소전문 0420, MONTHLY_DISCOUNT 펀딩모델 활성화(94,376).

■ 비기능 (50→58)
- docs/OPS_RUNBOOK.md: HA/DR·PCI·데이터보존·규제 설계 명시(코드불가 영역 정직 구분).

■ 화면·검증
- 시스템현황에 온보딩·KYC·3자대사 패널.
- 통합빌드 error 0, 5,915 서비스, 3본 실호출 검증(상태기계 부적법전이 거부), 6단체인 COMMIT OK, 미결2PC 0.
- 패리티 재채점 ≈87/100.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-23 14:30:49 +09:00

70 lines
4.2 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 운영 · 비기능 설계 (Ops Runbook) — acquire-core-x
> 비기능 요건(HA/DR·PCI-DSS·데이터보존·처리량)은 픽스처에서 코드로 완전 구현할 수
> 없는 인프라·조직 영역이다. 여기서는 **실제 매입시스템의 표준 설계를 명시**하고,
> 현재 구현이 어디까지 충족하는지 정직하게 구분한다. (패리티 분석 §9 비기능 근거)
## 1. 처리량 (Throughput / TPS)
| 항목 | 실제 매입사 | 현재 구현 | 상태 |
|---|---|---|---|
| 승인 TPS | 수천~수만 TPS | XA 2PC 체인 커밋 0.2~0.5초/건(단일 게이트웨이) | ⚠️ 아키텍처는 동일(다중 서버카피), 부하생성 미검증 |
| 서버 확장 | 서비스별 다중 인스턴스 | 모듈서버 min/max=4 카피(교착회피 실증) | ✅ |
| 데이터 볼륨 | 수천만~억 행 | 1,130만 행(매입 135만, 5.5년) | ✅ 실전 규모대 |
- **관측된 실측**: 6단 XA 체인 커밋 0.2~0.5초, 체인 전수 스모크 477/477 최대 530ms.
- **한계**: HTTP 게이트웨이가 단일 스레드(ATMI 컨텍스트 fork 비안전). 부하시험용 아님.
실 부하는 tpcall 클라이언트 다중화(예: `acqdrv` 병렬)로 대체 측정 가능.
## 2. 고가용성 / 재해복구 (HA / DR)
**실제 매입사 표준**: Active-Active 이중센터, DB 동기복제(RPO≈0), 자동 페일오버(RTO<),
카드망 이중회선, 무정지 배포.
**현재 구현**:
- Enduro/X `ndrxd` 서버 크래시시 자동 재기동(`restart_min/max`) 프로세스 레벨 HA.
- tmsrv XA 트랜잭션 로그(`tmlogs/`) 기반 커밋/롤백 복구 크래시 미결 2PC 정합 복구.
- PostgreSQL 단일 인스턴스(스트리밍 복제 미구성).
- ****: 다중센터·자동 페일오버·DB 동기복제는 인프라 영역으로 미구현(설계만 명시).
## 3. PCI-DSS 범위 (카드정보 보호)
**실제**: PAN 저장 금지/암호화, 토큰화로 스코프 축소, 키관리(HSM), 망분리, 접근통제.
**현재 구현 (Wave J)**:
- **토큰볼트**(`card_vault`): PAN 원문 미저장, 마스킹(4000-****-****-1111) + SHA-256 해시만.
- 서비스 `TOKENIZE` 원문 PAN 응답에 반환하지 않음.
- 3DS/SCA·AVS/CVV 검증 계층.
- ****: HSM 키관리·전송구간 암호화(TLS 종단망분리는 인프라 영역.
- **정직한 한계**: 시드 카드번호는 더미(Luhn 무관). 암호화 대신 해시 시연.
## 4. 감사추적 / 데이터 보존 (Audit / Retention)
| 항목 | 실제 | 현재 |
|---|---|---|
| 감사로그 | 서비스 처리이력, 불변 | `cm_log`(userlog 17,000+ 호출), 서비스별 진입/완료 |
| 거래 이력 | 5~10년 보존(규제) | 5.5년치 매입 보존, 삭제 없음 |
| 원장 불변성 | append-only 기표 | `ledger`/`lg_ledger_line` append(nextval 채번) |
| 개인정보 보존정책 | 파기주기 관리 | 정책 테이블 미구현(설계만) |
## 5. 규제 준수 (Compliance)
- **여신전문금융업법 정산주기**: `rp_regulatory` 월별 평균정산일수(D+n) 3영업일 준수 보고.
- **수수료 공시**: 3층 분해(interchange/scheme/markup) 투명.
- **원천징수/세금계산서**: `ac_wht`/`ac_tax_invoice`.
- ****: 감독당국 보고 포맷(FSS 서식자금세탁방지(AML) 스크리닝은 KYC 시연 수준.
## 6. 요약 — 비기능 패리티
| 영역 | 상태 |
|---|---|
| 처리량·확장 아키텍처 | 실전 구조(다중 서버카피·XA·1,130만행) |
| HA (프로세스) | ndrxd 자동재기동·XA 로그복구 |
| DR (다중센터) | 설계 명시, 인프라 미구현 |
| PCI (토큰볼트) | PAN 미저장·마스킹·해시 / HSM·망분리 인프라 |
| 감사·보존 | 불변 로그·5.5년 이력 / 파기정책 |
| 규제보고 | 여전법 정산주기·수수료공시 |
**결론**: 비기능은 **애플리케이션 레벨(감사·XA복구·토큰볼트·규제보고)은 실전급**,
**인프라 레벨(다중센터 DR·HSM·망분리)은 설계 명시에 그침**. 후자는 픽스처 목적상
코드가 아니라 배포 인프라의 몫이며, 마이그레이션 난이도에 대한 기여도 작다.