Skip to content

Kernel360/KDEV3_monicar_BE

Repository files navigation

Monicar

렌터카 차량 관제 서비스 (테크돔 기업 연계 프로젝트)

모니카 서비스

login-page.png

서비스 소개

저희 monicar는 렌터카 차량 관제 서비스입니다. 적어도 15000대 이상의 애뮬레이터가 시동on, GPS정보, 시동off를 http로 요청합니다. 특히 GPS 정보는, 받는 서버의 부하를 줄이기 위해 1초마다가 아닌, 60초마다 60개의 데이터를 요청합니다. 카프카를 통해 차량의 정보가 올바르게 저장이 되면 업체별로 차량의 운행정보, 위치, 과거 경로 조회, 실시간 경로 조회 등을 기반으로 차량을 관제할 수 있습니다.

주요 기능

대시보드

대시보드

공지사항

공지사항

위치조회

위치조회

경로조회

경로조회

운행기록>운행일지

운행기록 운행일지

운행기록>차량등록

운행기록 차량등록

알림창>점검현황

알림창 점검현황

시스템 아키텍처

아키텍처.png


위 아키텍처를 도입한 이유

흐름.png 요청한 데이터를 단일 수집서버로는 한계가 있으며, 부하테스트의 결과로 인해 메시지 큐를 도입할 수 밖에 없었습니다.

최종데이터흐름.png CPU 70 이상이 되면 Scale Out, 30이하면 Scale in이 되도록 Auto Scaling을 설정하였습니다. 애뮬레이터 서버가 60초마다 요청한 60개의 데이터가 카프카를 통해 저장하여, 업체별로 차량의 정보를 조회할 수 있습니다. Consumer Server가 현재 JPA saveall로 구현되어있어, 6시간 지연되어 적재되는 이슈를 발견하였습니다. 실시간 차량을 보여주기 위해, Consumer서버에서 mybatis의 bulk insert기능을 활용하여 데이터를 더 빠르게 적재될 수 있도록 할 예정입니다.

프로젝트 기획

ERD

ERD.png

기술 스택

BE

⚡ Tech Stack: Spring Boot, Spring Data JPA, Spring Security, QueryDSL, MyBatis, JWT, SSE, AWS EC2, AWS RDS, AWS ALB

FE

🗺️ Tech Stack: Nextjs,Typescript,Vercel, Kakao Map

BE Trouble Shooting

기술 세미나

팀원소개

팀장 프로필
팀장(BE, Infra) : 박수현
BE 팀원 프로필
BE 팀원 : 김병훈
BE 팀원 프로필
BE 팀원 : 윤지윤
FE 팀원 프로필
FE 팀원 : 권혁준
FE 팀원 프로필
FE 팀원 : 김난아

Releases

No releases published

Packages

No packages published

Languages