피드로 돌아가기
Dev.toBackend
원문 읽기
Framework 제거를 통한 Latency 60% 감소 및 처리량 3.3배 향상
The fastest way to build a Telegram Bot natively
AI 요약
Context
기존 python-telegram-bot 등 추상화 프레임워크 사용 시 발생하는 Overhead로 인한 성능 저하 발생. API 응답 지연 및 업데이트 처리 효율 감소라는 병목 지점 확인.
Technical Solution
- Framework 제거 및 Direct HTTP API Call 구조 채택을 통한 시스템 단순화
- Long Polling 기반 Update Loop 설계를 통한 실시간 메시지 수신 처리
- requests.Session 및 HTTPAdapter 도입을 통한 TCP Connection 재사용 및 Retry 전략 최적화
- ThreadPoolExecutor 기반 Parallel Update Processing 적용으로 메시지 처리 처리량 확장
- Production 환경 대응을 위한 Webhook 아키텍처 전환으로 Push 방식의 이벤트 수신 구현
- Offset 관리를 통한 중복 메시지 처리 방지 및 Idempotency 확보
Impact
- Native (Webhook) 적용 시 300+ Requests/sec 달성 및 Latency 80ms 기록
- 기존 프레임워크(90 Requests/sec, 200ms) 대비 처리량 약 3.3배 증가 및 지연 시간 60% 단축
Key Takeaway
고성능이 필수적인 인터페이스 설계 시 추상화 계층을 최소화하고 API 원시 호출 기반의 Native 구현을 통해 Resource Overhead를 제거하는 전략적 접근 필요
실천 포인트
- 고트래픽 봇 설계 시 Polling 대신 Webhook 모드 우선 검토 - HTTP 요청 최적화를 위해 Session 객체와 Retry 정책 설정 여부 확인 - 메시지 처리 병목 해결을 위한 Worker Thread Pool 규모 산정 및 적용 - API 에러 대응을 위한 Exponential Backoff 기반의 재시도 로직 구현