스프링캠프 2025 [Track 2] 5. 카카오뱅크 펀드시스템에 날개를 달아준, 사내 Spring Boot Starter 라이브러리 이야기 (손수민)
- 카카오뱅크 펀드 시스템을 분리 구축하며 사내 스프링부트 스타터를 활용, 반복되는 공통 기능을 추상화하고 개발 생산성을 향상시킴 🚀
- 기존 모놀리식 아키텍처의 문제점을 해결하기 위해 펀드 시스템을 독립적으로 분리, 클라우드 네이티브 환경에서 오픈소스 스프링 프레임워크를 활용 ☁️
- 은행의 특수한 환경과 규제 준수를 고려, 금융 원장 시스템을 안정적으로 구축하는 데 중점을 🏦
- 픽스드 랭스 전문 형식의 데이터를 직렬화/역직렬화하는 기능을 제공, 개발자가 금융 데이터 형식을 몰라도 쉽게 처리 가능하도록 지원 🧮
- 사내 API 호출 시 HTTP 클라이언트를 추상화하여 제공, 공통 설정 및 요청 전후의 부가 기능(감사 로그, 권한 검증 등)을 유연하게 확장할 수 있도록 함 ⚙️
- 분산 트레이싱 기능을 제공, 시스템 간 요청 흐름을 추적하고 문제 발생 지점을 쉽게 파악할 수 있도록 지원 🔍
- 클라이언트 호출 과정을 핸들러 인터페이스로 추상화하여 핵심 로직과 부가 처리 로직을 분리, 확장성과 유지보수성을 높임 🧩
- 스프링부트 스타터 라이브러리를 통해 은행 도메인 개발에 필요한 기능들을 추상화, 개발 생산성을 향상시키고 코드의 일관성을 유지 💡
- 잭슨 라이브러리의 확장 지점인 모듈을 활용하여 커스텀 타입에 대한 직렬화/역직렬화 로직을 제어 🧬
- HTTP 헤더를 통해 트레이스 아이디를 전파, 시스템 간 요청 컨텍스트를 유지하고 분산 환경에서의 추적을 용이하게 함 📡