아카이브사이트맵
© 2026 Rayon. All rights reserved.
DevDay
아티클랭킹스페이스채용
우아한형제들 favicon우아한형제들

배달의민족, OSRM, Kafka, Redis로 배차 정확도 UP!

by DD
2025-06-26
1년 전
조회수 47

배민커넥트 배차 시스템에서 실거리 기반 배차를 위해 OSRM을 도입함

Kafka를 활용한 이벤트 드리븐 아키텍처를 구축하고, Redis를 캐싱으로 활용함

Redis Cluster 적용 및 데이터 압축, TTL 최적화를 통해 성능 및 안정성을 확보함

이벤트 기반 아키텍처 설계

Kafka를 활용하여 배달 상태 변경 이벤트를 처리하고, EventProcessorFactory를 통해 각 이벤트에 맞는 로직을 수행한다. 구체적으로, DeliveryCreated, PickupLocationChanged 등 다양한 이벤트에 따라 실거리 데이터를 관리한다. 따라서 데이터 일관성을 유지하며, 시스템 확장성을 확보한다.

Redis 성능 최적화 전략

초기에는 Redis String에 실거리 데이터를 저장했으나, 네트워크 대역폭 초과 문제를 겪었다. 을 시도했지만, 효과가 미미했다. 반면 자료구조를 활용하여 을 개선하고, 를 적용하여 을 달성했다.

Zstd 압축
Redis Hash
읽기/쓰기 성능
Redis Cluster
쓰기 트래픽 분산

실전 적용 가이드: TTL 및 클러스터 모드

과도한 TTL 설정은 네트워크 오버헤드를 유발하므로, 배달 완료 시점에 명시적 삭제 방식으로 변경했다. Redis Cluster를 적용하여 쓰기 트래픽 분산을 구현하고, 수평 확장을 가능하게 했다. 따라서 서비스 안정성을 높이고, 트래픽 증가에 유연하게 대응할 수 있다.

배차 정확도를 높이는 실거리 시스템 구축하기: OSRM, Kafka, 그리고 Redis
고급
아키텍처
OSRM
Kafka
Redis
Backend
Data
우아한형제들 favicon우아한형제들
고급
아키텍처
OSRM
Kafka
Redis
Backend
Data

관련 추천 글

올리브영, Kafka 기반 준실시간 데이터 파이프라인 구축으로 45분 지연 해결!

올리브영 로고

Kafka 대신 RDB? 장시간 비동기 작업, Task Queue로 해결!

우아한형제들 로고

DynamoDB 부하, Kafka와 Redis로 실시간 제어!

롯데온 로고
원문 읽기
원문 읽기

관련 추천 글

올리브영, Kafka 기반 준실시간 데이터 파이프라인 구축으로 45분 지연 해결!

올리브영 로고

Kafka 대신 RDB? 장시간 비동기 작업, Task Queue로 해결!

우아한형제들 로고

DynamoDB 부하, Kafka와 Redis로 실시간 제어!

롯데온 로고

컬리, 카프카 튜닝으로 검색 성능 UP!

컬리 로고

스프링 데이터(Spring Data) 2026.0.0-M2 출시: Redis, MongoDB 기능 개선!

스프링 로고

캐시 장애에도 멈추지 않는 아키텍처 설계

여기어때 로고

댓글 0

첫 번째 댓글을 남겨보세요!