💓 Heartbeat ?
- 서버 <-> 클라이언트간의 연결 확인을 위한 기능
- 특정 시간 내에 응답이 없으면 타임아웃을 설정하여 자동으로 연결을 종료할 수 있다.
📌 왜 HTTP/2 PING 프레임을 사용하지 않는가?
[Client] ← PING/PONG → [LoadBalancer] ← PING/PONG → [Server] |
위의 구조로 Client와 Server 사이에 Loadbalancer가 있을때 Loadbalance가 핑을 가로 챌 수 있음, 그러면 '서버'로 전달이 안될수 있음.
그래서 MagicOnion은 자체적으로 Heartbeat를 구현하였고, 서버와 클라이언트 간의 데이터를 명시적으로 보내는 메커니즘을 제공합니다!