sayyoon.site
postsguestbook
🏦
금융

계정계 정보계 채널계 구조

2025.05.31

금융 시스템의 핵심 아키텍처를 이루는 기본 구조인 “계정계·정보계·채널계”를 이해하자!

 

📍 계정계 / 정보계 / 채널계 구조 요약

구분 주요 역할 예시 시스템 기술적 특징
계정계 (Core Banking System) 실시간 거래 처리 (입출금, 이체 등) 송금, 예금, 대출 시스템 실시간성, 데이터 정합성, 안정성 요구, 대부분 OLTP
정보계 (Information System) 데이터 분석, 통계, 보고서 생성 경영 리포트, 고객 행동 분석 비실시간, 대용량, OLAP 기반, DW/BI 시스템 연동
채널계 (Channel System) 사용자 접점 제공 모바일 앱, 인터넷 뱅킹, ATM API Gateway, 프론트엔드 인터페이스, 보안 인증 연동

 

계정계 (Account System, OLTP)

  • 핵심 거래가 이뤄지는 시스템
  • 사용자의 잔액, 계좌, 이자, 대출 등 실시간 트랜잭션을 처리
  • 시스템 장애 시 금융 서비스 중단으로 이어짐 → 가용성・정합성이 매우 중요
  • 고성능 RDBMS + 메인프레임 or 고신뢰성 서버 기반이 일반적
  • 예: A가 B에게 송금할 때 잔액 감소 → 수신자 계좌 증가까지가 한 트랜잭션

 

정보계 (Analysis System, OLAP)

  • 계정계에서 수집된 거래 데이터를 가공・분석해서 경영・마케팅에 활용
  • 고객 행동 분석, 리스크 분석, 이자율 예측, KPI 추적 등에 사용
  • 실시간성이 필요없고, 대용량 데이터를 다룸
  • 데이터 웨어하우스(DW) + BI 도구 기반
  • 예: ‘30대 남성의 평균 카드 사용액’, ‘지난달 1억 이상 입금 고객 리스트’ 등

 

채널계 (Interface System)

  • 사용자가 실질적으로 접속하는 시스템
  • 예: 모바일 앱, 인터넷뱅킹, 콜센터, 창구, ATM
  • 계정계와 직접 연결되며, 인증, 보안, UX 처리를 담당
  • 최근에는 API Gateway 및 클라우드/쿠버네티스 위에 올라가는 구조로 많이 바뀜
  • 예: 앱에서 로그인 → 잔액조회 → 거래 내역 확인까지 전부 채널계를 통해 이루어짐

 

왜 이 구조를 알아야할까?

상황 개발자가 이해해야 할 포인트
API 개발 시 요청이 계정계로 바로 가는지, 중간 처리계로 가는지 판단 필요
장애 분석 시 장애가 발생한 계층이 어디인지 빠르게 파악 가능
데이터 처리 시 정보계에선 실시간 조회 불가 → 적재 시점, 주기 확인
인증/보안 처리 시 채널계와 연결된 보안 게이트웨이 흐름 이해 필요

 

그 외 계층

계층 역할 주요 예시
계정계 (Core Banking) 실시간 금융 거래 처리 입출금, 이체, 대출, 수신 등
정보계 (Information System) 비실시간 데이터 분석, 리포트 통계 분석, 마케팅, 리스크관리
채널계 (Channel System) 사용자 접점 처리 앱, 인터넷뱅킹, ATM, 콜센터
중계계 (Middleware/Interface Layer) 이기종 시스템 간 인터페이스 처리 EAI, API Gateway, ESB
공통계/관리계 (Common/Backoffice System) 인증, 권한, 로그, 감사, 스케줄 등 시스템 관리 사용자 권한 관리, 접속 로그, FDS
보안계 (Security Layer) 인증/암호화/접근제어 SSO, OTP, FIDO, PKI 인증
FDS (Fraud Detection System) 이상거래 탐지, 부정거래 방지 실시간 탐지, 규칙 기반 룰엔진, 머신러닝 모델

실제 구조도 예시

[ 사용자  →  채널계  →  중계계  →  계정계  ↔  정보계 ]
                           ↘ 보안계/공통계 ↙
  • 중계계는 채널계와 계정계/정보계를 연결하는 ‘버스’
  • 공통계는 시스템 운영에 필요한 부가 시스템
  • 보안계는 인증/인가 및 접근제어 시스템을 통제
  • FDS는 금융 범죄 방지 시스템 (독립적으로 존재)

MSA 설계 시 어떤 계층부터 분리하는게 좋을까?

일반적으로 채널계/공통계부터 분리하는게 안전하고 효과적이다.

계층 MSA 전환 적합도
채널계 ✅ 매우 적합
공통계 ✅ 적합
정보계 ⚠️ 제한적 분리 가능
계정계 ❌ 매우 신중히 접근
FDS ⚠️ 실시간 처리 요구되므로 고성능 환경 필요, 전환 시 고려 요소 많음

채널계는 서비스별로 독립 UI/UX 흐름이 존재하고, 인증/로그인 등 자연스러운 MSA 분리가 가능하기 때문에 MSA 전환이 적합하다.
공통계는 인증, 권한, 알림, 로그 등은 MSA로 분리하면 재사용성이 높기 때문에 적합하다.
정보계는 대용량 처리 및 일괄 작업이 많아 통합 처리가 유리한 경우도 있기 때문에, 제한적으로 분리가 가능하다.
계정계는 트랜잭션 정합성 보장이 중요하고, 서비스 간 데이터 정합성 이슈 위험이 높기 때문에 MSA 전환을 매우 신중하게 접근해야 한다. FDS는 실시간 처리가 요구되므로 고성능 환경이 필요하고, 전환 시 고려 요소가 많아 주의해야한다.

점진적 전환 전략

  • 채널계 → 공통계 → 정보계 → 계정계 순으로 점진적 마이그레이션
  • 특히 계정계는 **도메인별(Micro-domain)**로 쪼갤 수 있는 기반이 있어야 분리가 가능함

 

📍 계층별 테스트 전략 - 구조별로 달라지는 품질 관리 방식

계층 테스트 유형 테스트 초점 자동화 여부
계정계 단위 + 통합 테스트 (정합성 검증이 핵심) 트랜잭션 정합성, 동시성, 롤백 처리 자동화 가능 (Mock DB 주의)
정보계 일괄 배치 테스트, 대용량 성능 테스트 데이터 정확성, 적재 주기, 통계 산출 정확도 부분 자동화 가능 (배치 시나리오 기반)
채널계 UI 테스트, API 테스트, UX 흐름 테스트 응답 속도, 인증 흐름, 오류 메시지 처리 Playwright, Selenium 등으로 자동화 유리
중계계 인터페이스 테스트, 메시지 포맷 검증 JSON/XML 포맷, 필드 매핑 정확성 자동화 필수 (Swagger 기반 테스트 작성)
공통계 보안 테스트, 권한 테스트 세션 만료, 토큰 만료, 역할 기반 권한 분리 JUnit/pytest 기반 가능
보안계 취약점 테스트, 인증 우회, 비인가 접근 OAuth2 흐름, JWT 변조, 접근 차단 보안 테스트 도구 필요 (ZAP, Burp Suite 등)

 

금융 시스템은 계정계·정보계·채널계에 더해, 중계계·공통계·보안계·FDS로 세분화된다.
MSA 전환은 채널계/공통계부터 점진적으로 시작하는 것이 바람직하며, 계층마다 테스트 전략이 다르므로 계층 구조에 맞춘 품질관리 계획이 필요하다.

보너스: 금융권에서 MSA 도입 시 자주 나오는 설계 키워드

  • API Gateway, Domain Driven Design (DDD)
  • Saga 패턴: 분산 트랜잭션 처리
  • Circuit Breaker, Service Mesh (Istio)

 

📍 금융 시스템 도메인 설계 및 MSA 전환 실무 관점

🏦 도메인: 계정계 – 송금 서비스

핵심 도메인 구조 (도메인 모델링 관점 DDD 기반)

[UserAccount] ← 송금 요청 → [TransferService] → [Ledger] ←→ [Notification]
도메인 객체 설명
UserAccount 송금/수신자의 계좌 정보 (잔액, 상태)
TransferService 잔액 확인, 수수료 계산, 이체 실행 핵심 로직
Ledger (원장) 거래 기록 저장, 정합성 유지
Notification 송금 완료 알림 전송 (이메일, SMS 등)

고려사항

  • 트랜잭션 일관성: 출금→입금까지 원자성 보장 필요
  • 이중 송금 방지: 송금 중복 요청 식별 필요 (idempotency)
  • 비동기 처리: 알림은 MQ/이벤트로 비동기 처리

📊 도메인: 정보계 – 소비 분석 서비스

핵심 흐름

[AccountTransaction] → [Batch ETL] → [SpendingAnalyzer] → [UserDashboard]
구성 요소 설명
AccountTransaction 계정계에서 복사된 거래 내역 테이블
Batch ETL 하루 1회 수집 및 전처리, 적재
SpendingAnalyzer 월별 지출 패턴, 카테고리별 통계 생성
UserDashboard 사용자에게 소비 통계 시각화 제공

💡 고려사항

  • 실시간 아님: 최소 1일 지연 발생
  • 정확도 우선: 실시간보다 분석 정확성 우선
  • OLAP 처리: Snowflake, BigQuery, Hive 등 사용 가능

 

📍 MSA 아키텍처 설계도 예시

디지털뱅크 서비스의 마이크로서비스 설계 예시

                  [ API Gateway ]
                         ↓
     ┌────────────┬─────────────┬────────────┐
     │   AuthSvc  │ TransferSvc │ AccountSvc │ ← 채널계/계정계 주요 서비스
     └────────────┴─────────────┴────────────┘
           ↓             ↓              ↓
[ NotificationSvc ] [ LedgerSvc ] [ FeeCalcSvc ] ← 공통계 / 보조 도메인
           ↓
Kafka Topic or RabbitMQ
           ↓
[ LoggingSvc ] [ FraudDetectionSvc ] [ AuditSvc ] ← 공통계/보안계

설계 포인트

  • 도메인 기반 마이크로서비스 분리 (계좌, 송금, 인증, 수수료 등)
  • Kafka 등 비동기 메시징 활용
  • 서비스 간 느슨한 결합 유도
  • Spring Boot + Docker/K8s + Redis + JPA 조합 권장

 

📍 면접 질문 답변 구성

질문: “계정계를 왜 쉽게 MSA로 분리하지 못할까요?”

계정계는 실시간 거래 처리와 높은 정합성을 요구하는 핵심 시스템이기 때문에,
단순히 서비스 단위로 분리하기보다 트랜잭션 관리, 데이터 일관성, 장애 대응 등 다양한 고려가 필요합니다.

특히 MSA에서는 서비스 간 트랜잭션이 분산되어 관리되기 때문에,
ACID 보장이 어려워지고, 이를 보완하려면 Saga 패턴이나 이벤트 기반 보상 트랜잭션 설계가 필요합니다.

또한 계정계는 기존에 단일 DB와 모놀리식 구조로 설계되어 있는 경우가 많아서,
MSA로 전환 시 기존 시스템의 안정성 유지와 데이터 마이그레이션까지 동시에 고려해야 합니다.

그래서 일반적으로는 채널계, 공통계부터 점진적으로 MSA를 적용하고,
계정계는 충분한 설계와 테스트를 거쳐 점진적 도메인 단위로 분리하는 것이 현명하다고 생각합니다.


📍 요약

  • 금융 도메인은 단순 CRUD가 아닌 계층적 구조와 데이터 정합성 중심의 도메인 모델 설계가 필수
  • MSA는 비즈니스 도메인 기반 분리가 효과적이며, 계정계는 가장 마지막 단계로 전환하는 것이 일반적
  • 실제 면접이나 프로젝트 기획 단계에서 위 개념과 설계를 제시하면 높은 평가를 받을 수 있음

 

📍 금융 시스템의 장애 대응 시나리오

은행은 고객 자산을 실시간으로 다루는 고신뢰 시스템이기 때문에, 장애 발생 시에도 거래 정합성과 신뢰를 유지해야한다.

  • 무중단 운영 (Always On)
  • 장애 복구 시 정합성 유지 (Zero Data Loss or 최소화)
  • 신속한 복구 (RTO/RPO 최소화)
  • 이중화, 이관, 수동 전환 체계 내재화

장애 유형별 시나리오

장애 유형 설명 대응 방식
계정계 서버 장애 트랜잭션 처리 중단 → 실시간 거래 마비 Hot-Standby DB, Active-Active 구성, DR(재해복구센터) 이관
채널계 장애 앱, 웹, ATM, 콜센터 접속 불가 채널별 이중화, 장애 시 대체 채널 유도 (예: 인터넷 → 모바일)
DB 장애 (단일 포인트) 정합성 문제, 전체 시스템 영향 DB 이중화 (Replication), WAL(Write-Ahead Logging), 즉시 Rollback 처리
인터페이스 장애 계정계 ↔ 정보계, 외부기관 연동 실패 EAI / API Gateway 장애 → 대기열(Queue) 저장 후 재처리
네트워크 장애 특정 지역/지점 연결 끊김 MPLS 회선 이중화, VPN 백업 라우팅
보안 시스템 장애 (인증서버 등) 로그인 불가, 거래 차단 인증 캐싱, 예외 처리 모듈, OTP 백업 체계
배치 실패 / 일괄처리 오류 정산/이자/보고서 누락 배치 롤백 → 재실행 가능한 단위 설계 필요

💥 시나리오 1: 계정계 DB 장애 발생

상황: 출금 요청 중 DB 트랜잭션 실패 → 이체 완료 여부 불명확

대응 흐름

  1. 장애 발생 감지 (DB 응답 지연, 에러 로그, 모니터링)
  2. 자동 Failover → 복제 DB로 전환 (Active-Standby)
  3. 복구 이후 트랜잭션 로그 기반 정합성 점검
  4. 필요 시 사용자에 “일시적 오류 → 복구 안내”

예방 설계 포인트

  • WAL 기반 트랜잭션 로그 저장
  • DB Replication 상태 지속 감시 (Heartbeat)
  • 거래 로그의 transaction_id 기준 중복 처리 방지

💥 시나리오 2: 인터넷뱅킹 접속 불가

상황: 특정 시간대 트래픽 폭증 → 채널계 WAS 과부하

대응 흐름

  1. WAS Pool 초과 감지 → Auto-scaling 요청 (클라우드 기반)
  2. 일부 사용자를 모바일뱅킹으로 유도
  3. 알림센터를 통해 공지 및 사과 메시지 발송

예방 설계 포인트

  • API Gateway + Circuit Breaker 설정
  • 사용자 세션 분산 (Redis 기반)
  • 일시적 오류 시 재시도 정책 (Exponential Backoff)

💥 시나리오 3: 외부 기관 연동 장애 (예: 카드사 API 다운)

상황: 마이데이터에서 카드사 API 연동 실패 → 사용자 리포트 누락

대응 흐름

  1. 오류 시 failover cache 사용 → 과거 데이터 기반 뷰 제공
  2. 장애 사유 저장 → 장애 해소 후 자동 재조회 배치

3.사용자에게 “일부 데이터는 수집 대기 중” 안내

예방 설계 포인트

  • 연동 실패 시 재시도 큐에 적재 (Kafka, RabbitMQ)
  • 외부 API Health Check 주기적 수행

장애 복구 체계 핵심 전략

항목 의미 예시
RTO (복구 시간 목표) 장애 후 서비스를 다시 올리는 데 걸리는 최대 시간 RTO 10분 이내 설정 등
RPO (복구 시점 목표) 데이터 손실을 감내할 수 있는 최대 시간 RPO 0분이면 실시간 백업 필수
DR (Disaster Recovery) 재해복구센터를 통한 시스템 이관 다른 지역의 DR 센터로 계정계 DB 이관
BIA (Business Impact Analysis) 업무별 장애 발생 시 영향 분석 ATM 중단은 고객 불만 크므로 우선 복구 대상 지정

금융 시스템에서의 장애 대응은 단순한 복구가 아니라 정합성, 신뢰성, 연속성이 최우선이다.
계정계 장애 → 데이터 정합성 유지가 핵심
채널계 장애 → 사용자 대응 및 대체 채널 안내
외부 연동 장애 → 재처리 설계, 사용자 신뢰 회복 방안 필요
이를 위한 DR 체계, RTO/RPO 관리, 자동 Failover 설계가 필수다.

필요하다면,
장애 유형별 시스템 설계 전략
RTO/RPO 설계 예시
MSA 전환 시 장애 격리 전략
이런 것도 더 자세히 도와줄 수 있어.

 

📍 금융 IT 시스템에서의 보안 인증 방식 (OTP, FIDO, 2FA 등)

1️⃣ 보안 인증 방식 개요 (OTP, FIDO, 2FA 등)

  • OTP (일회용 비밀번호): 모바일 앱/토큰기반
  • FIDO (생체인증): 지문/홍채 기반, 서버 저장 없음
  • 2FA (Two-Factor Auth): 비밀번호 + 추가 인증요소

인증 흐름 예시

ID 입력 → 비밀번호 확인 → OTP 입력 → FIDO 지문 스캔 → 인증 완료

 

2️⃣ 장애 유형별 보안 인증 시스템 설계 전략

장애 유형 설명 대응 전략
OTP 서버 다운 OTP 생성/검증 불가 로컬 앱 캐시 기반 코드 생성 허용 (제한시간 설정), 서버 복제 이중화
FIDO 인증 실패 생체 인증 서버 응답 없음 대체 인증 수단 제공 (비밀번호 + OTP fallback)
인증서 만료/검증 실패 전자서명 시스템 오류 유효기간 grace time, 백업 인증기관 연동
로그인 트래픽 급증 인증 서버 과부하 인증 서버 오토스케일링, 캐싱, Redis 세션 활용
악성 요청/공격 무차별 대입, 파라미터 변조 Rate limiting, CAPTCHA, WAF 방어 연동

 

3️⃣ 인증 시스템의 RTO/RPO 설계 기준

항목 의미 보안 인증 시스템 기준
RTO (Recovery Time Objective) 장애 후 복구까지 허용 가능한 시간 5분 이내 권장 (사용자 로그인 지속 불가 시 대혼란)
RPO (Recovery Point Objective) 데이터 손실 허용 범위 인증 로그, 세션 토큰: 0~1분 이내 (거래 추적용)

인증 시스템 RTO/RPO 설계 팁

  • Session 서버와 OTP 서버는 분리 설계
  • 핵심 구성은 Active-Active 이중화
  • 토큰 발급 시점, 유효시간 고려한 보상 처리 로직 내재화

 

4️⃣ 클라우드 환경에서의 인증 시스템 고가용성 설계

  • OAuth2 서버 + Redis 세션 클러스터링
  • FIDO 서버 다중 리전 배포
  • OTP 인증은 Stateful → 가능하면 Stateless 토큰화
  • 장애 발생 시 자동 Failover + 서비스 Degradation 대응

 

금융 시스템의 보안 인증은 단순히 강력한 수단을 쓰는 걸 넘어서, 인증이 실패하거나 중단됐을 때도 서비스를 신뢰성 있게 이어갈 수 있는 복구 설계가 핵심이다. OTP, FIDO, 2FA 등 다양한 인증 방식은 각기 다른 장애 대응 전략을 가져야 하며, 이를 위해 RTO/RPO 기반의 인증 인프라 이중화 설계, 장애 발생 시 fallback 인증 체계, 고가용성 클라우드 인증 구조를 함께 고려해야 한다.

이 주제는 보안 + 인프라 + 사용자 경험까지 통합적으로 고려해야 하는 주제이기 때문에, → 금융 IT 직무, SI 엔지니어, 클라우드 아키텍트 등 모두에게 어필 가능해

원한다면:

  • OAuth2 인증 서버 MSA 설계 예시
  • FIDO 인증 흐름도
  • OTP 장애 복구 절차 문서 예시도 만들어줄게

© Powered by danmin