
백엔드
A. Auto 서비스를 위한 gRPC 기술 도입 이야기
두줄요약
차량 내 에이닷 서비스를 위해 OEM과 플랫폼 사이에 Auto Proxy 서버를 구축하고 gRPC를 도입했습니다. 양방향 스트리밍과 Protocol Buffers로 실시간 데이터 전송 효율을 높였습니다.
문제 상황
- 다양한 OEM 차량에 SDK를 직접 탑재하기 어려운 제약
- 차량 내 에이닷 서비스를 위해 OEM 서버와 플랫폼 서버 간 연동 필요
- 실시간 음성 데이터 교환과 안정적인 서버 간 통신 요구
원인 분석
- 차량별 탑재 환경 차이로 SDK 기반 배포 한계
- 대량 데이터와 양방향 스트리밍에 적합한 통신 방식 필요
- 요청/응답이 연속적으로 오가는 구조에서 기존 방식보다 효율성 중요
해결 방법
- 서버 대 서버 방식과 Auto Proxy 서버 구성
- gRPC와 Protocol Buffers 도입으로 전송 효율 개선
- Bidirectional-streaming과 Asynchronous Stub 적용으로 OEM-플랫폼 간 실시간 양방향 통신 구현
성능/운영 포인트
- REST 대비 작은 메시지 크기와 빠른 전송 속도 활용
- metadata로 인증 정보 전달 및 요청 맥락 관리
- Channel, EventLoopGroup, Stub을 활용한 비동기 통신과 스레드 제어
적용해볼 점
- 실시간성과 성능이 중요한 서비스에 gRPC 스트리밍 검토
- proto 기반 코드 생성으로 서버/클라이언트 인터페이스 표준화
- 메타데이터와 콜백 구조로 서비스별 응답 처리 분리
