목록 보기
코어뱅킹 우당탕탕 정산 자동화 개발
백엔드

코어뱅킹 우당탕탕 정산 자동화 개발

8퍼센트
8퍼센트
2023년 7월 20일

두줄요약

월별 수동 정산을 일별 모듈형 정산으로 바꾸고 자동화한 과정을 소개했습니다. 멱등성, 락, 비동기 분산 처리로 중복 정산을 막고 지급 시간을 크게 줄였습니다.

문제 상황

  • 월별 수동 정산 방식에서 멱등성 부족으로 중복정산·오정산 발생
  • 과거 데이터 추적과 수정이 어렵고, 외부 API 호출 포함 지급 작업에 1시간 이상 소요

원인 분석

  • 정산 코드의 상태 관리와 재실행 안전성 부족
  • I/O 바운드 지급 작업을 동기적으로 처리해 대기 시간이 누적
  • 순서 의존적인 자동 호출 방식은 실패 복구와 운영 안정성에 취약

해결 방법

  • 월별 정산을 일별 정산 모듈로 재구성하고 기록·지급·지급 확인·출금으로 분리
  • 셀러리 기반 비동기·분산 처리와 주기적 호출로 자동화 구성
  • 검증 단계, 모듈별 락, 트랜잭션으로 멱등성 확보

성능/운영 포인트

  • 상품 단위와 지급 API 태스크를 독립적으로 병렬 처리해 I/O 병목 완화
  • 지급 결과를 DB에 기록한 뒤 폴링으로 확인하는 운영 방식 채택
  • advisory_lock으로 동일 태스크의 중복 실행 방지

적용해볼 점

  • 정산처럼 재실행 가능한 업무에는 멱등성과 단계 분리가 핵심
  • 동기 I/O 작업은 비동기화·병렬화로 처리 시간 단축 가능
  • 자동화는 실패 복구 가능성과 중복 방지 장치까지 함께 설계 필요

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...