실시간 차량 위치 추적부터 운행 통계 집계까지 가능한 통합 차량 관제 시스템입니다.
운행 로그의 실시간 처리 성능을 확보하고, 관리자에게 직관적이고 신뢰할 수 있는 운행 정보를 제공합니다.
RoadEye는 다음과 같은 문제를 해결하기 위해 개발되었습니다:
- 차량 위치를 실시간으로 추적하고 운행 상황을 직관적으로 파악하고 싶다.
- 다수 차량의 주기적인 운행 정보를 1분 내 15,000건 이상 처리할 수 있는 시스템이 필요하다.
- 통계 기반의 운영 개선을 위해 월별·일별 운행 통계를 제공하고 싶다.
이를 위해 Spring Boot + RabbitMQ + MySQL + Spring Batch 기반의 확장 가능한 관제 시스템을 설계하고 구현하였습니다.
- 실시간 차량 관제: 차량의 현재 위치, 경로, 속도 등을 실시간으로 확인
- 운행 일지: 차량별 운행 내역 조회 (운행 시작/종료 시각, 거리 등)
- 통계: 월별/일별 운행 통계, 시간대별 운행수
- 사용자 관리: 관리자, 운전자 사용자 추가 및 상태 변경
- 차량 관리: 차량 정보 등록, 수정, 운행 상태 표시
- 차량의 주기 정보(위치, 속도)를 1초 간격으로 수신
- 지도 위에 실시간 위치 표시 및 궤적 추적
K6
기반 부하 테스트를 통해 1분 내 15,000건 요청 처리 검증Hub
서버 →RabbitMQ
→Consumer
서버 구조로 병렬 처리- 설정 튜닝 (
Hikari
,JDBC Batch
,MQ Batch
,Concurrency
)으로 안정적 처리 성능 확보
- Spring Batch로 매일 새벽 운행 데이터를 자동 집계
- 일별 운행 거리, 시간, 횟수 및 시간대별 운행량 저장
- 통계 데이터는 관리 화면에서 시각화 제공
이름 | 역할 | 담당 |
---|---|---|
윤여일 | 백엔드 개발 | 인프라, CICD, Spring Security, hub, consumer, emulator, |
조윤수 | 백엔드 개발 | CRUD, spring batch |