피드로 돌아가기
Dev.toInfrastructure
원문 읽기

Persistent Tunnel 도입으로 네트워크 오버헤드 150ms에서 5ms로 96% 절감
I Stopped Restarting HTTP Connections Between AI Models. Here Is What I Use Instead.
AI 요약
Context
Multi-model AI Pipeline에서 모델별 VRAM 제약으로 인한 분산 배포가 필수적인 상황. 기존 per-request HTTP 통신 시 DNS lookup, TCP handshake, TLS negotiation으로 인해 요청당 약 45ms의 네트워크 낭비가 발생하는 구조적 한계 노출.
Technical Solution
- Pilot Protocol 기반의 48-bit 가상 주소 체계 도입을 통한 P2P 연결 구조 설계
- UDP 기반 Persistent Tunnel 구축으로 연결 설정 비용을 요청 단위가 아닌 에이전트 쌍 단위로 1회만 지불하는 방식 채택
- 30초 주기 Keepalive probe와 120초 Idle timeout 설정을 통한 터널 연결 상태의 능동적 유지
- Capability Tag 기반의 Service Discovery 메커니즘을 통해 Orchestrator의 하드코딩된 주소 의존성 제거
- Go 언어의 net/http.RoundTripper를 커스텀 구현하여 기존 HTTP 인터페이스를 유지하면서 하위 전송 계층만 Tunnel로 교체한 추상화 적용
실천 포인트
- 파이프라인 단계별 네트워크 지연 시간이 모델 추론 시간의 10%를 초과하는지 측정 - Load Balancer의 Connection reshuffling이나 NAT 환경으로 인해 Keep-alive가 불안정한지 검토 - 서비스 간 강결합된 IP 주소 대신 Capability Tag 기반의 Dynamic Discovery 도입 고려 - 전송 계층의 변경이 애플리케이션 로직에 영향을 주지 않도록 RoundTripper 수준의 추상화 계층 설계