ポーリングはサーバー側の更新をリアルタイムに受け取る(Polling / Long Polling / SSE) として使われていますが、今度はリアルタイムの双方向通信について考えていきましょう。よく活用される技術としてはWebSocketがあげられます。WebSocketはクライアントとサーバー間で双方向のデータ通信を可能にし、一度コネクションが確立されると、継続的にデータを送受信できるようになります。このため、クライアントとサーバーの間で頻繁にデータをやり取りするリアルタイム性の高いアプリケーションに非常に適しています。
よく活用されるユースケースとしてはリアルタイムのチャットアプリケーションなどのシステムデザインでよく使われます。
WebSocketとは
WebSocketプロトコルは、クライアントとサーバー間で低遅延かつ双方向の通信を確立する仕組みです。これは通常のHTTP通信とは異なり、1回のハンドシェイク後にコネクションが継続的に開かれ、その後は両者がメッセージを送信し続けることができます。