카카오뱅크, Spring Boot 스타터 'barcelona'로 개발 효율 UP!

by DD
6개월 전
조회수 9

카카오뱅크는 펀드 시스템 개발을 위해 자체 Spring Boot Starterbarcelona를 개발함

FixedLength 전문 처리, Chain of Responsibility 패턴 적용, Baggage 활용 등 은행 도메인에 특화된 기능 제공

스타터 라이브러리 도입으로 개발 생산성 향상유지보수 용이성 확보

FixedLength 전문 처리를 위한 Jackson Module 확장

FixedLength 전문은 JSON과 달리 필드 위치와 길이가 고정되어 있어 파싱이 어렵다. barcelonaJackson Module을 확장하여 FixedLength 전문을 객체로 자동 변환한다. 따라서 개발자는 복잡한 파싱 로직 대신, 객체 지향적 방식으로 데이터를 처리할 수 있다.

Chain of Responsibility 패턴을 활용한 HTTP Client 확장

사내 API 호출 전후 부가 로직 처리를 위해 Chain of Responsibility 패턴을 적용했다. ClientHandler 인터페이스를 통해 각 책임을 분리하고, getOrder()로 실행 순서를 제어한다. API 호출 전/후 검증거래 증적 기록을 체계적으로 관리하여, 유지보수성을 높였다.

분산 트레이싱과 Baggage를 활용한 정보 전파

분산 시스템에서 Trace IDSpan ID를 통해 요청 추적이 가능하다. barcelonaBaggage를 활용하여 직원 정보와 같은 추가 데이터를 전파한다. 따라서, 분산 환경에서 문제 해결 시간 단축시스템 전반의 이해도 향상을 기대할 수 있다.

펀드 시스템의 뼈대, Starter 라이브러리 'barcelona'를 소개합니다