Initialize RTGS prototype repository
3센터 A-A-A RTGS 실시간총액결제 프로토타입 최초 버전관리 시작. - backend: Kotlin/Gradle 멀티모듈(sequencer, common, 채널/센터 모듈) - frontend: Vite + TS - infra: docker-compose, prometheus/grafana, ELK 네이티브 스크립트 - loadtest(k6), sim(장애/순서/정합성 시나리오), docs(PoC 보고서/복원력방안)
This commit is contained in:
70
docs/rtgs 프로젝트 개요.txt
Normal file
70
docs/rtgs 프로젝트 개요.txt
Normal file
@@ -0,0 +1,70 @@
|
||||
------------------------------------------------------------------------------------
|
||||
▣ rtgs 프로젝트 개요
|
||||
클라우드 환경에서 기본적인 기능에 대해서는 3회차에 걸쳐 테스트를 했는데,
|
||||
이번 프로젝트에서는 클로드 코드를 통해 업무기능을 완벽히 개발해서 테스트 해보려고해
|
||||
개발환경은 로컬PC에서 수행
|
||||
------------------------------------------------------------------------------------
|
||||
□ 참고 : C:\ai-dev\workspace\rtgs\docs 폴더내 3회차에 걸친 테스트 결과 보고서, 방안 문서와 의견 등
|
||||
|
||||
□ 시스템 — 실시간총액결제(RTGS: Real-Time Gross Settlement)
|
||||
□ 시스템 목표 — 원거리에 위치한 3개 센터에서 A-A-A로 365*24시간 연중무휴 결제서비스를 안정적적으로 제공
|
||||
□ 프록젝트 목적 — RTGS 프로토타입 시스템 구축 및 테스트
|
||||
□ 성능 목표 — 10000~20000TPS(이전의 3회차 테스트에서는 접수기능까지만 확인)
|
||||
□ 기능 범위 — 자금이체 신청/접수/청산/조회/정산
|
||||
□ 데이터 성격 — 트랜잭션(전문/거래), 마스터(기관별 당좌계좌)
|
||||
□ 데이터 형식 — 원본 데이터 XML을 접수 받아서 RTGS시스템 내부에서는 저널(text(?) 축약)로 송수신후 XML로 응답(ISO20022 전문) → 전문 정보는 C:\ai-dev\workspace\rtgs\docs\pacs.7z 파일 참조
|
||||
|
||||
|
||||
□ 사용자 — ADMIN(관리자)/ORG_S(송신기관)/ORG_R(수신기관)
|
||||
□ 기술 스택 — Spring Boot + React + PostgreSQL + 인메모리DB, 이벤트 브로커, 메시지큐 등
|
||||
□ 시스템 연동 — ERP를 통한 사용자 정보 입수 및 관련 시스템(기존의 회계시스템, 감사시스템, BI시스템 등) 간의 인터페이스(본 프로토타입에서는 제외)
|
||||
센터 — 3개 센터 Active-Active-Active 동일한 순서로 같은 처리를 수행
|
||||
□ 테스트 — 3센터 구분은 터미널로 구분하여 동시 부하 테스트 실시
|
||||
□ 점검대상 —
|
||||
(1) 원격지에 떨어진 3개 센터에서 동일한 순서로 동일한 업무를 수행하는 기능성
|
||||
(2) 3센터 중에 한개의 센터가 다운되어도 서비스 보장(2개 센터가 다운되면 장애)하는 가용성
|
||||
(3) 장애가 발생해도 신속하게 데이터 소실없이 자동 복구하는 복원성
|
||||
|
||||
□ 프로세스 —
|
||||
(0) RTGS시스템 호출 전에 송신기관에서 송신인 계좌 잔액을 확인하고, 수신기관의 수신인 계좌 확인완료
|
||||
(1) 송신기관에서 수신기관을 지정하여 3센터 중에 한 센터의 RTGS시스템에 자금이체 전문을 신청
|
||||
(2) 처리 순서가 정해지고, 나머지 2센터에 순서가 공유(순서를 정하는 역할 GSLB로 구현한다면, 이 GSLB는 3개 센터 중에 한 곳에 위치해야 할지, 또다른 곳에 위치해야 할지, 또따른 곳이라면 이건 센터 간 이중화 안해도 될지 고민임)
|
||||
(3) 각 3센터 모두 동일한 이체업무(RTGS시스템내 송신기관의 당좌계좌에서 이체한 금액을 제하고, 수신기관의 당좌계좌에 더하여 잔액처리)
|
||||
(4) 실제 접수받은 센터에서는 수신기관 앞 이체결과 전문을 통보
|
||||
|
||||
□ 관리 — ELK 구성을 통한 로그 수집및 조회 기능 구현
|
||||
|
||||
▣ PC 교체 주의사항 — PC 교체시 C:\ai-dev만 복사 (새 PC에서도 경로를 똑같이 C:\ai-dev로 설정). 복사 전 서비스·인프라를 멈추고 복사(실행 중 DB파일이 잠겨 깨질 수 있음). home\pgsql-data / kafka / es-data / mongo-data는 빼고 복사 → 새 PC에서 재초기화(스크립트가 알아서 다시 생성. 코드·설정만 확실히 오면 됨)
|
||||
|
||||
|
||||
------------------------------------------------------------------------------------
|
||||
▣ 서비스
|
||||
→ 전체 프로세스는 C:\ai-dev\workspace\rtgs\docs\UML.xlsx 파일 참조
|
||||
|
||||
|
||||
□CHANEL(Contact Hub for Advanced Networked Entry Liaison)
|
||||
참가기관(송신)으로부터 거래요청 건을 접수받아 참가기관(송신, 수신)에게 처리결과를 통보하는 서비스
|
||||
프로세스 개념도 참조 : C:\ai-dev\workspace\rtgs\docs\chanel.png
|
||||
|
||||
□HERMES(High-Efficiency Rapid Memory Execution for Settlement)
|
||||
각 센터에서 동일한 거래를 순서대로 처리하여 각 센터 내에 위치한 원장 데이터베이스에 저장하는 결제처리 서비스
|
||||
프로세스 개념도 참조 : C:\ai-dev\workspace\rtgs\docs\hermes.png
|
||||
|
||||
□DIOR(Data Integration and Organization Relay)
|
||||
참가기관(송신)에게 접수한 거래 건을 다중 센터에서 동일하게 처리하기 위한 접수 동기화 서비스
|
||||
프로세스 개념도 참조 : C:\ai-dev\workspace\rtgs\docs\dior.png
|
||||
|
||||
□PRADA(Persistent Repository Administrator for Data Aggregation)
|
||||
각센터에서 처리한 거래처리 결과에 대한 결과 동기화 서비스
|
||||
프로세스 개념도 참조 : C:\ai-dev\workspace\rtgs\docs\prada.png
|
||||
|
||||
□LOUIS VUITTON : Leading Operations Unified Information Systems for Validation, Updates, Integration, Tracking, Technology, Operations, and Networks
|
||||
|
||||
□GUCCI (Global User Communication Control Interface)
|
||||
3개 센터 간 헬스 체크
|
||||
센터간 통신을 위한 연계서버(Gateway 역할, Message Queue 역할)
|
||||
금융기관들(송신기관, 수신기관) 로그인 인증
|
||||
금융기관들(송신기관, 수신기관)이 호출하는 API 인증
|
||||
API 서비스 순서 지정
|
||||
이체신청기관앞 이체결과 송부
|
||||
|
||||
Reference in New Issue
Block a user