DevLog

엔지니어링 블로그를 한 곳에서 탐색하고, 최근 발행 흐름을 빠르게 파악할 수 있는 서비스 입니다.

Quick Links

  • Latest Feed
  • Engineering Directory

Support

  • 소개
  • 개인정보처리방침

Contribute

  • 원하는 블로그 추가 (준비 중)
  • Feedback

© 2026 DevLog Inc. All rights reserved.

본 사이트는 공개 RSS 피드를 통해 콘텐츠를 수집하며, 모든 콘텐츠의 저작권은 원저작자에게 있습니다.

Back to Feed
Read Original

Contents

Continue Reading

  • More from 카카오뱅크
#Backend

사람이 기다리지 않는 담보심사시스템 설계

사람이 기다리지 않는 담보심사시스템 설계
01

Summary

심사역의 커피 타임을 되찾아준 카카오뱅크의 '안 기다리는' 담보 심사 설계기

Deferred Batch와 비동기 워크플로우로 구현한 50% 생산성 향상의 비밀

카카오뱅크가 개인사업자 담보 대출 심사의 복잡한 수동 단계를 어떻게 자동화했는지에 대한 기술적 여정을 담고 있습니다. 단순히 사람을 배제하는 것이 아니라, 시스템이 비동기적으로 배경 작업을 수행하고 사람은 결정적인 판단에만 집중할 수 있도록 돕는 견고한 아키텍처 설계 노하우를 공유합니다.

  • 015분 넘게 걸리던 외부 기관 서류 발급 대기 시간을 시스템 비동기 처리로 자동화
  • 02Deferred Batch를 활용해 계정계 환경의 제약을 극복한 유연한 워크플로우 엔진 구현
  • 03REQUIRES_NEW 트랜잭션 전파 속성을 활용해 메인 로직과 분리된 안전한 에러 핸들링
  • 04단일 거대 트랜잭션 대신 느슨하게 결합된 작업 체인 구조로 장애 전파 방지 및 격리
  • 05전용 대시보드를 구축하여 자동화된 프로세스의 '블랙박스' 현상을 해소하고 운영 가시성 확보

+RECOMMENDATION

레거시 환경이나 제약 사항이 많은 시스템에서 복잡한 비즈니스 프로세스를 자동화하려는 백엔드 개발자에게 적극 추천합니다. 특히 외부 API 의존성이 높고 순차적인 작업 처리가 필요한 도메인을 다루는 엔지니어들에게 실무적인 가이드가 될 것입니다.

The Problem

기존 부동산 담보 대출 심사는 서류 확인 및 외부 기관 연동 등 사람이 개입하여 대기해야 하는 단계가 많아 업무 효율이 낮았습니다. 특히 신청 건수가 늘어날수록 특정 담당자에게 의존하는 구조적 한계로 인해 처리 속도가 저하되고 인력 부담이 가중되는 문제가 있었습니다.

The Solution

기존의 'Deferred Batch' 기능을 확장하여 심사 프로세스를 독립적인 작업 단위로 분리하고, 이를 비동기적으로 연결하는 '작업 체인' 모델을 도입했습니다. 각 작업은 상태 관리 테이블을 통해 독립적으로 수행되며, 오류 발생 시 REQUIRES_NEW 트랜잭션 옵션을 활용해 실패 이력을 안전하게 격리하고 자동으로 재시도하는 구조를 설계했습니다.

The Result

심사 담당자 1인당 일일 처리 가능 건수가 최대 50% 향상되었으며, 외부 연동 과정에서 발생하던 불필요한 대기 시간이 제거되었습니다. 또한 전용 모니터링 대시보드를 통해 업무 가시성을 확보함으로써 기획-운영 조직 간의 커뮤니케이션 비용을 줄이고 시스템 신뢰도를 높였습니다.

Trade-off

경량 배치 방식을 활용하므로 작업이 즉시 실행되지 않고 스케줄링 주기에 따라 순차적으로 처리되는 지연 시간이 존재할 수 있습니다. 또한 시스템의 복잡도를 관리하기 위해 별도의 상태 관리 테이블과 모니터링 시스템을 추가로 구축하고 유지보수해야 하는 운영 비용이 발생합니다.

03

Key Concepts

Concept · 01

Deferred Batch

사전에 정의된 주기에 따라 특정 조건을 SQL로 조회하고 대상 작업을 실행하는 카카오뱅크 내부의 경량 배치 처리 프레임워크입니다.

  • 전체 심사 프로세스를 작은 작업 단위로 나누어 비동기적으로 실행하는 워크플로우 엔진 역할을 수행합니다.
  • 작업 상태 관리 테이블과 결합하여 중지, 재개, 재시도가 가능한 유연한 구조를 제공합니다.
Concept · 02

비동기 작업 체인 (Asynchronous Task Chain)

전체 업무를 하나의 큰 흐름으로 묶지 않고, 이전 작업의 완료가 다음 작업의 등록을 유발하도록 설계한 느슨하게 결합된 구조입니다.

  • 특정 단계에서 오류가 발생해도 해당 건만 격리하고 나머지 프로세스는 중단 없이 진행할 수 있게 합니다.
  • 담당자가 외부 연동 결과가 나올 때까지 화면 앞에서 대기할 필요 없이 다른 업무를 처리할 수 있게 돕습니다.
Concept · 03

REQUIRES_NEW

Spring 등에서 지원하는 트랜잭션 전파 속성으로, 현재 실행 중인 트랜잭션의 성공 여부와 관계없이 항상 새로운 독립적인 트랜잭션을 생성합니다.

  • 주 업무 로직이 실패하여 롤백되더라도 오류 이력과 재시도 정보는 DB에 정상적으로 커밋하기 위해 사용됩니다.
  • 시스템의 안정적인 상태 추적과 비정상 종료 시 복구 로직의 무결성을 보장합니다.
Continue reading · same source

카카오뱅크More from 카카오뱅크

View all posts from 카카오뱅크
  • 금융사를 위한 AWS GameDay 2026: 카카오뱅크 2연패 이야기 🏆

    AWSDevOpsAI
    1개월 전
  • AI, 고객 행동의 순서를 읽다: 카카오뱅크 시퀀스 기반 FDS 모델 개발기

    Vision TransformerTime-series ClassificationMetric Learning
    2개월 전
  • 금융 보안 퀴즈, AI에게 풀게 해봤습니다: 2025 금융 AI Challenge 우수상 후기

    LLM OptimizationMoERAG
    5개월 전
  • Agentic AI의 시대, AWS re:Invent 2025 현장을 가다

    Agentic AIAWS re:Invent 2025Amazon Bedrock
    5개월 전
  • 리액트의 현재와 미래, 그리고 AI: React Summit US 2025 참관기

    ReactAI EngineeringRust
    6개월 전

Source

카카오뱅크
카카오뱅크
Engineering Blog

Published · May 6, 2026

Topics

Deferred BatchAsynchronous ProcessingCore BankingDatabase TransactionArchitecture Design