
| 상황 | 설명 |
|---|---|
| 🔄 실시간 양방향 통신이 필요한 경우 | 클라이언트와 서버가 지속적으로 데이터를 주고받아야 할 때 (예: 채팅, 게임, 주식 시세 등) |
| 🚫 HTTP Polling의 비효율성 극복 | 서버에 주기적으로 요청을 보내는 방식보다 효율적이며 트래픽 감소 효과가 있음 |
| 📡 Push 알림 기능 구현 | 서버가 클라이언트에 이벤트 발생 시 실시간으로 데이터를 푸시할 수 있음 |
| 🔧 지속적인 연결 유지 필요 | 클라이언트와 서버 간 연결을 끊지 않고 상태를 유지하는 애플리케이션에 적합 (예: 협업 도구, IoT 기기 등) |
| 항목 | WebRTC | gRPC |
|---|---|---|
| 📌 정의 | 브라우저 간 실시간 미디어(P2P) 스트리밍 기술 | Google에서 개발한 고성능 원격 프로시저 호출(RPC) 프레임워크 |
| 🎯 주 용도 | 실시간 영상 통화, 음성 채팅, 화면 공유 등 | 마이크로서비스 간 통신, 클라이언트-서버 간 데이터 교환 |
| 🔄 통신 방식 | 주로 P2P 연결 (시그널링 서버는 필요) | 클라이언트-서버 모델 기반 |
| 📦 데이터 처리 | 미디어(음성, 영상) 중심 | 구조화된 데이터 중심 (Protocol Buffers 사용) |
| 🧩 특징 | 낮은 지연, 실시간 미디어 전송에 최적화 | 빠르고 경량, 양방향 스트리밍 가능 |
| 🌐 언어/환경 지원 | 웹 브라우저, 모바일 앱 등 다양한 환경 지원 | Go, Java, Python 등 다양한 언어 지원 |