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>
This commit is contained in:
hyeongwoo 2026-07-23 14:30:49 +09:00
parent d292772b1f
commit bba433308a
14 changed files with 695 additions and 173 deletions

70
docs/OPS_RUNBOOK.md Normal file
View file

@ -0,0 +1,70 @@
# 운영 · 비기능 설계 (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·망분리)은 설계 명시에 그침**. 후자는 픽스처 목적상
코드가 아니라 배포 인프라의 몫이며, 마이그레이션 난이도에 대한 기여도 작다.

View file

@ -18,6 +18,17 @@
> | 리포팅 | 70% | **85%** | 가맹점명세서·여전법 규제보고(134) |
> | 비기능 | 35% | **50%** | 토큰볼트로 PCI 스코프 축소·PAN 원문 미저장 |
> **가중 합계 ≈ 80 / 100** (6개 신규 서비스 전부 런타임 검증, 미결 2PC 0).
>
> ### Wave K 재채점 (잔여 갭 완결)
> | 도메인 | 이전 | 현재 | 보강 내용 |
> |---|---|---|---|
> | 가맹점·마스터 | 75% | **90%** | 온보딩/언더라이팅(mm_application 230)·KYC/AML(mm_kyc 1,150)·MID발급 상태기계 + MM_ONBOARD/MM_KYC_CHECK |
> | 매입·클리어링 | 75% | **85%** | 프레젠트먼트 윈도우·late_flag·interchange downgrade(56,912) + ISO0420 취소전문 |
> | 원장·회계·대사 | 80% | **90%** | 계정과목(suspense/clearing 분리)·3자대사(rc_3way 16,185, 망·내부·은행) + RC_3WAY |
> | 수수료 | 88% | **90%** | 월청구(MONTHLY_DISCOUNT) 펀딩모델 활성화(94,376) |
> | 비기능 | 50% | **58%** | 운영 설계문서(OPS_RUNBOOK: HA/DR·PCI·보존·규제) 명시 |
> **가중 합계 ≈ 87 / 100** — 애플리케이션 계층은 실전급, 잔여는 인프라(다중센터 DR·HSM·실카드망).
> 마이그레이션 대상 픽스처로서의 실전성은 사실상 상한(~90%)에 도달.
## 도메인별 패리티 (가중 100점)