피드로 돌아가기
Treasure Hunt Engine: Where Optimism Meets Reality
Dev.toDev.to
Backend

Rust와 Tokio 전환을 통한 Median Response Time 80% 단축

Treasure Hunt Engine: Where Optimism Meets Reality

pretty ncube2026년 5월 25일2advanced

Context

대규모 코퍼스 대상 고성능 인덱싱 및 검색 시스템 구축 과정에서 Boolean 검색과 Phrase Matching의 정확도 및 속도 확보가 요구됨. 초기 Go 기반 Generic Event-Driven Architecture 도입 결과, Event Bus의 Network Overhead와 Worker Queue의 Latency 및 Jitter로 인한 쿼리 타임아웃 및 결과 부정확성 발생.

Technical Solution

  • Go 언어의 동시성 모델 한계를 극복하기 위한 Rust 언어로의 전체 마이그레이션 수행
  • High-performance Asynchronous I/O 처리를 위한 Tokio Runtime 도입 및 쿼리 프로세싱 파이프라인 재설계
  • 기존 Worker Thread 관리 방식을 Tokio Executor 기반의 효율적인 스케줄링 구조로 변경
  • Memory Allocation 최적화를 통한 서버 메모리 요구 사양 감소 및 처리량 증대
  • 단순 Event Dispatch 방식에서 Runtime 제약 사항을 반영한 전용 쿼리 처리 모델로의 전환

1. Generic Event-Driven 구조가 Network Overhead나 Jitter를 유발하는지 검토

2. 고빈도 Hot Path에서 Garbage Collection이나 Runtime Scheduling이 병목인지 분석

3. P

9

9.9 Latency 제어가 필수적인 시스템의 경우 Async I/O 최적화 런타임(예: Tokio) 고려

원문 읽기