목록 보기
FMS(Fleet Management System) 주행이벤트 파이프라인 개선기
백엔드

FMS(Fleet Management System) 주행이벤트 파이프라인 개선기

쏘카
쏘카
2024년 6월 11일

두줄요약

주행 이벤트 파이프라인에서 데이터 순서 보장과 대량 IoT 트래픽 처리를 위해 구조를 두 차례 개선했습니다. Kafka, NoSQL, 멱등성 설계로 비동기 실시간 처리와 정합성을 높였습니다.

문제 상황

  • 주행 이벤트의 선후행 관계를 위해 데이터 순서 보장이 필수였으나, 초기 파이프라인에서는 프로토콜 간·동일 프로토콜 내 순서가 흔들림
  • 스케줄링 기반 배치 처리로 특정 시점 부하 집중, 불필요한 리소스 사용, 쿠버네티스 환경에서 차량별 중복 탐지 방지용 Lock으로 부하 분산 한계
  • RDB와 동기 API 중심 구조가 대량 IoT 트래픽, 비동기 처리, MSA 장애 대응, 스케일 아웃 요구에 부적합

해결 방법

  • 단말기 데이터를 DB에 먼저 적재하고 일정 주기 스케줄링으로 이벤트를 탐지해 데이터 순서 보장 기반 마련
  • 이후 RDB에서 NoSQL로, 스케줄링 배치에서 Kafka 기반 이벤트 파이프라인으로 전환해 비동기 처리와 처리량 개선
  • 차량별 Chunk 단위의 Check-In & Check-Out, Check-In Expire, 멱등성 설계로 순서 보장과 데드락 방지, TTL 인덱스로 시계열 데이터 관리

성능/운영 포인트

  • 실시간 이벤트 기반 전환으로 특정 시간대 부하 집중 완화와 서버 역할 분리
  • 이벤트 순서와 정합성 검증을 위해 실차 테스트 병행
  • 알림 서버 등 다른 서비스로의 확장 가능성 및 데이터 스토리지 스케일 아웃 용이성 확보

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...