피드로 돌아가기
I Built a Private Rust Backend to Power 18 Developer Tools — Here's the Architecture
Dev.toDev.to
Backend

Rust와 MongoDB 기반의 고정밀 스케줄링 및 9종 플랫폼 통합 백엔드 설계

I Built a Private Rust Backend to Power 18 Developer Tools — Here's the Architecture

freerave2026년 5월 9일17advanced

Context

개별적으로 동작하던 VS Code 확장 프로그램, CLI, 봇들의 인증 및 빌링 체계 파편화로 인한 관리 효율 저하 발생. 특히 서버리스 환경의 타임아웃 제약과 Node.js 이벤트 루프의 지터 현상으로 인해 밀리초 단위의 정밀한 스케줄링 구현에 한계 직면.

Technical Solution

  • Tokio 기반의 deterministic sleep 구조를 통한 밀리초 단위의 Exact-second scheduling 구현
  • MongoDB의 findOneAndUpdate 원자적 연산을 활용하여 Mutex 없이 동시성 쿼터 제한(Atomic quota enforcement) 해결
  • Look-Ahead + Sleep 패턴을 적용하여 1분 단위 DB 쿼리와 OS 레벨 타이머를 조합한 저비용 고정밀 스케줄링 달성
  • PlatformAdapter Trait 정의를 통해 9개 서로 다른 외부 플랫폼 API의 동시 디스패치 구조 표준화
  • HMAC-SHA256 서명 검증 시 JSON 파싱 전 Raw bytes를 우선 처리하여 웹훅 보안 무결성 확보
  • 마킹 후 발행하는 'Mark → Spawn → Publish' 플래그 기반 상태 관리를 통한 크래시 복구 메커니즘 구축

1. 보안 토큰 생성 시 thread_rng 대신 OsRng를 사용하고, HMAC 비교 시 constant_time_eq를 적용했는가?

2. 설정 파일의 유효성 검사를 서버 시작 단계에서 수행하여 런타임 패닉을 방지했는가?

3. 외부 웹훅 처리 시 서명 검증을 위해 JSON 역직렬화 전 Raw byte 데이터를 보존했는가?

4. 비원자적 메모리 작업 시 DB 플래그를 통한 복구 시나리오를 설계했는가?

원문 읽기