다이내믹 스크래핑과 전월세대출 이동제의 실행
조민국 토스 · 토스 기술 블로그
AI 핵심 요약
전월세대출 운영은 고객의 소득 유형과 제출 서류에 따라 판단할 경우가 많아 수기 처리의 비효율과 오류 가능성이 컸다. 이를 줄이기 위해 40여 개의 업무 케이스를 정의하고 약 270개의 테스트를 작성했으며, 다이내믹 스크래핑으로 다양한 고객·서류 조건을 재현하고 전략 패턴과 composition으로 케이스별 처리를 분리했다. 운영 담당자가 서류와 소득, 고객 안내를 확인·처리하는 어드민 LUMOS도 만들고, 서류 및 소득 로직을 마이크로서비스로 분리해 계정계 모놀리식 의존을 줄였다. 대환 과정은 오케스트레이터가 상태를 관리하고 전략·상태·사가 패턴을 적용해 이체 실패 시 롤백과 재시도를 지원했으며, 보류된 상환 결과는 배치로 다시 조회하도록 설계했다.
- 복잡한 업무 규칙은 먼저 가능한 케이스를 정의하고 테스트 코드로 검증하면 누락과 휴먼 에러를 줄이는 데 도움이 된다.
- 테스트 환경에서 서류와 고객 조건을 조합할 수 있게 하면 실제 고객 유형을 재현하기 어려운 문제를 해결할 수 있다.
- 케이스별 로직을 독립된 서비스로 분리하고 resolver로 라우팅하면 새 유형을 추가하거나 수정할 때 영향 범위를 좁힐 수 있다.
- 여러 단계의 이체는 오케스트레이터가 상태를 관리하고 사가 패턴으로 보상·재시도를 설계하면 실패에 대응하기 쉽다.
소개
토스뱅크에서 전월세대출과 대환 프로세스를 만들면서 겪은 어려움을 해결한 방법을 공유합니다.