목록 보기
타다 시스템 아키텍처
아키텍처

타다 시스템 아키텍처

타다
타다
2019년 1월 28일

두줄요약

타다는 빠른 출시를 위해 Kotlin·Spring Boot와 AWS 관리형 서비스를 중심으로 시스템을 구성했습니다. SQS 배차, Kinesis 위치 수집, gRPC 실시간 이벤트로 모빌리티 흐름을 분리·확장했습니다.

문제 상황

  • 변화가 잦은 모빌리티 시장에서 짧은 출시 기간과 유연한 기능 우선순위 대응 필요
  • 비트윈의 인하우스 네트워크·HBase 중심 스택에서 겪은 초기 안정성 및 복잡한 배포 문제

구조와 흐름

  • Kotlin·Spring Boot 기반 HTTP/2 API 서버, gRPC 이벤트 서버, SQS 기반 Dispatcher, Kinesis 기반 Tracker 분리
  • 드라이버 GPS 정보를 Protocol Buffers와 Kinesis로 전달하고 Tracker가 Aurora 기반 TrackerDB에 저장
  • 배차 요청을 SQS에 적재하고 Dispatcher가 주변 차량 탐색·재시도를 수행하며 수락 이벤트를 gRPC로 라이더에게 전달

선택 이유

  • 검증된 프레임워크와 AWS 관리형 서비스를 활용한 빠른 개발 및 관리 오버헤드 축소
  • Kubernetes/EKS와 helm 기반 배포 자동화·확장, Terraform 기반 인프라 프로비저닝
  • Redis Pub/Sub 기반 서버 간 메시징, gRPC Streaming 기반 실시간 이벤트 전달

성능/운영 포인트

  • Dispatcher 증설만으로 배차 처리량 확장, 인스턴스 종료 시에도 SQS 메시지 기반 처리 지속
  • Reactor를 활용한 외부 ETA API의 비동기·동시 요청 처리
  • 차량 위치 업데이트 부하 분리를 위한 별도 Aurora TrackerDB 인스턴스와 Firehose-S3 로그 적재

다음 읽기

#Kotlin 주제를 이어서 읽기

타다 클라이언트 개발기

짧은 출시 일정에 맞춰 Android·iOS 통합 팀이 RIBs 기반의 모바일 앱을 구축했습니다. ProtoBuf 자동화와 공통 아키텍처로 개발 효율을 높이고 후속 개선 과제를 정리했습니다.

타다
타다
프론트엔드
전체 보기

댓글 0개

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

댓글을 불러오는 중...