LabHub

은행 업무의 구조 · 지급결제와 계좌 · 이론

지급결제와 계좌 — 이체 한 건의 여정

LabHub 에서 이어서 보기

한 줄 요약

은행 시스템은 채널계·계정계·정보계 세 층으로 나뉘고, 이체 한 건은 그 층들과 결제망을 거쳐 원장에 실린다 — 그 여정이 완전하지 않을 수 있어서 마감과 대사가 존재한다.

왜 세 층으로 나뉘었나

은행에 처음 들어가면 "그건 계정계 일이다", "채널에서 막아야 한다", "정보계에서 뽑아라" 같은 말을 듣습니다. 이 셋은 조직이자 시스템의 이름입니다.

채널계   고객과 만나는 곳. 모바일 앱, 인터넷뱅킹, ATM, 창구 단말, 오픈뱅킹 API.계정계   계좌와 원장을 가진 핵심. 잔액을 바꾸는 유일한 곳이고, 가장 보수적으로 운영된다.정보계   계정계를 복제해 분석·보고·마케팅에 쓰는 곳. 원본이 아니라 사본이다.

이렇게 나눈 이유는 부하와 위험을 격리하기 위해서입니다. 채널은 하루에 수천만 번 조회를 받지만 잔액을 바꾸지 않습니다. 계정계는 잔액을 바꾸지만 조회 부하에서 보호됩니다. 정보계는 무거운 집계를 돌려도 계정계를 느리게 만들지 않습니다. 대신 대가가 있습니다 — 층 사이를 오가는 전문(메시지)이 생기고, 그 왕복이 언제나 완전하지는 않습니다.

이체 한 건의 여정

고객이 모바일 앱에서 타행 이체를 누르면 대략 이런 일이 일어납니다.

1. 채널계가 인증과 한도를 확인하고 계정계에 출금 요청 전문을 보냅니다.
2. 계정계가 출금 계좌의 잔액을 확인하고 원장에 출금을 기록합니다.
3. 은행은 금융결제원의 공동망을 통해 수취 은행에 입금 요청을 보냅니다.
4. 수취 은행이 수취인 계좌에 입금하고 응답합니다. 고객에게는 여기까지가 몇 초입니다.
5. 은행 간 실제 돈의 이동은 건마다 하지 않습니다. 하루치를 모아 차액을 계산하고, 한국은행에 개설된 각 은행의 당좌계좌 사이에서 한은 금융망을 통해 결제합니다. 이것이 차액결제이고, 실제로는 다음 영업일의 정해진 시각에 이루어집니다.

이 구조에서 중요한 사실 하나: 수취인은 이미 돈을 받았는데 은행 간 결제는 아직 끝나지 않은 시간이 존재합니다. 그 사이에 한 은행이 무너지면 어떻게 되는가가 결제 리스크이고, 그래서 한국은행이 담보와 한도를 관리합니다.

원장·마감·정합성

계정계의 원장은 거래를 시간순으로 쌓은 기록이고, 잔액은 그 합산입니다. 성능 때문에 계좌마다 잔액 컬럼을 두지만 그것은 사본입니다. 하루가 끝나면 일마감이 돌아 그날의 거래를 확정하고 계정일자를 넘깁니다. 마감 뒤에 그날 날짜로 거래가 더 들어오면 안 되므로 컷오프 시각 이후의 거래는 다음 영업일로 실립니다.

마감의 핵심 절차가 대사입니다. 채널이 성공이라 답한 건과 원장에 실린 건, 우리 원장과 상대 기관의 정산 파일, 잔액 컬럼과 원장 합산 — 이 짝들이 맞는지 확인합니다. 어긋나는 형태는 몇 가지로 정해져 있습니다.

채널에만 있음     응답은 나갔는데 원장 반영이 실패했다. 고객은 됐다고 알고 있다.원장에만 있음     원장에는 실렸는데 응답이 늦어 채널은 타임아웃으로 기록했다.                  고객은 실패한 줄 알고 다시 누른다 → 이중 거래.금액이 다름       전문 파싱·자릿수·통화 단위 문제. 드물지만 가장 오래 남는다.잔액만 다름       원장 없이 잔액 컬럼을 고쳤다. 정정이 아니라 사고다.

정정에도 규칙이 있습니다. 원장의 행을 고치거나 지우지 않습니다. 빠진 거래는 정정 거래로 넣고, 잘못 나간 거래는 반대 방향 거래로 상쇄합니다. 무슨 일이 있었는지가 순서대로 남아야 민원과 감사에 답할 수 있습니다.

실무에서 진짜 중요한 것

첫째, 타임아웃은 실패가 아닙니다. 채널이 응답을 못 받았다는 뜻이지 계정계가 처리를 안 했다는 뜻이 아닙니다. 채널은 타임아웃 뒤에 결과를 조회해서 확인해야 하고, 고객에게 "처리 중" 을 보여 줘야 합니다. "실패" 를 보여 주면 이중 거래가 납니다.

둘째, 재시도에는 멱등키가 필요합니다. 같은 요청이 두 번 와도 한 번만 실리게 하려면 채널이 만든 고유 참조를 계정계가 기억해야 합니다. 대사가 이중 거래를 찾아내는 것은 사후 조치이고, 멱등키는 사전 조치입니다.

셋째, 잔액 컬럼은 진실이 아닙니다. 어긋나면 원장이 이깁니다. 잔액을 UPDATE 로 고친 흔적은 그 자체가 감사 지적 사항입니다.

다음 실습에서 채널 로그와 원장을 직접 대사해 위 네 가지 어긋남을 모두 찾아내고, 정정 거래로 바로잡습니다.