피드로 돌아가기
I Built ArgoBeat to Stop Paying Brain.fm $15/Month
Dev.toDev.to
Infrastructure

Web Audio API 기반으로 구현한 External Config 분리형 오디오 엔진 설계

I Built ArgoBeat to Stop Paying Brain.fm $15/Month

Daniel LaForce2026년 6월 8일3intermediate

Context

Web Audio API 기반의 오디오 플레이어 구현 과정에서 클라이언트 내부에 버전 관리 및 제어 로직이 집중된 강결합 구조의 한계 발생. R2 스토리지 기반의 트랙 관리 체계에도 불구하고, 런타임 설정값의 하드코딩으로 인한 유연한 업데이트 및 배포 제약 상황 직면.

Technical Solution

  • Control Plane 분리를 통한 Listening UI와 Backend Config의 디커플링 구조 설계
  • Cloudflare Workers 및 Express 어댑터를 활용한 캐시 기반 Public Config 엔드포인트 구축
  • Runtime 초기 구동 시 Config Fetcher Hook을 통한 외부 설정값 동적 주입 방식으로 전환
  • R2 Host, Bucket, Active Prefix를 포함한 설정 정보의 중앙 집중식 관리 체계 도입
  • v0.1.0 레거시 경로 유지 및 v0.2.0 기본값 설정을 통한 Versioned Route 기반의 점진적 마이그레이션 구현
  • Telemetry 엔드포인트 추가를 통한 런타임 상태 모니터링 및 데이터 수집 경로 확보

- 클라이언트 사이드에 비즈니스 로직 및 버전 제어 권한이 집중되어 있는지 검토 - 설정값의 잦은 변경이 예상되는 경우 Hard-wired 방식 대신 External Config Fetching 구조 도입 고려 - 신규 버전 배포 시 기존 사용자의 영향도를 최소화하기 위한 Versioned Route 전략 적용 여부 확인

원문 읽기