1.5 KiB
1.5 KiB
KBX v6 — Reconcile Standard
원칙
대사는 사람이 OMS 화면과 WMS 화면을 번갈아 열어 숫자를 비교하는 작업을 시스템이 대신하는 기능이다.
모든 대사 Row는 다음 구조를 갖는다.
Reference → Expected → Actual → Difference → Reason → Resolution
대표 대사
- OMS 주문수량 ↔ WMS 출고지시수량
- OMS 출고지시 ↔ WMS 피킹/검수수량
- 주문 할당수량 ↔ 재고 Reservation
- WMS 실재고 ↔ ERP 재고 Snapshot
- 외부 송장전송 요청 ↔ 판매채널 반영상태
데이터 구조
kbx.reconcile_items는 비교 결과 Projection이다. 원천 데이터를 복사해 새로운 진실로 만들지 않는다. source_id, target_id, evidence는 문제 원인을 추적하기 위한 근거다.
상태
matched: 일치mismatch: 불일치pending: 비동기 처리 중이라 아직 확정할 수 없음resolved: 이전 불일치가 원천 정상화로 해소됨
비동기 시스템 주의
Outbox가 아직 소비되지 않은 순간의 차이를 곧바로 장애로 판단하면 False Positive가 많아진다. 각 대사 유형에 grace period를 두고, 정상적인 eventual consistency 시간 안의 건은 pending으로 분류한다.
예: OMS가 출고지시 Outbox를 Commit한 직후 WMS Inbox가 아직 수신하지 못한 3초 동안은 mismatch가 아니라 pending이다.
Exception 전환
조사가 필요한 mismatch만 COMMON-OPS-001로 전환한다. Reconcile 화면에서 원천 데이터를 직접 UPDATE하지 않는다.