핵심 요약
쏘카 Asset팀의 차량재배치 시스템은 거대 클래스로 인한 유지보수 이슈를 해결하기 위해 스프링 카프카 기반으로 아키텍처를 리팩터링하고 책임 분리와 테스트를 강화했습니다.
구현 방법
- 비즈니스 로직과 기술 로직 분리, CarRelocationController/Service 체계 구성
- 키네시스 로직을 카프카로 교체하고 KafkaListener와 DI 적용
- CarRelocationActionServiceSelector로 상태별 서비스를 동적으로 선택
주요 결과
- 테스트 코드(KafkaReservationControllerTest, CarRelocationServiceTest) 추가로 품질 확보
- 책임 분리와 DI로 유지보수성 및 확장성 향상


