Cloudflare Realtime は、分散型のリアルタイムデータプレーンを使い、リアルタイムアプリケーションの作り方を変えます。地理的な制約やスケーラビリティの心配を減らし、リアルタイム通信をスムーズにします。Realtime は、リージョン単位のスケールやサーバー管理の複雑さに深入りせず、サーバー/クライアント構成で WebRTC 機能を組み込みたい開発者向けです。
選択的転送ユニット(Selective Forwarding Units、SFU)は、ビデオ通話の参加者へメディアストリームを選択的に転送し、WebRTC 接続を管理するうえで重要な役割を果たします。ただし、集中型であるため、次の制約があります。
-
リージョン依存: 集中型 SFU は特定のリージョンにデプロイする必要があります。そのリージョンの近くにいるユーザー以外は、グローバル利用でレイテンシの問題が出ます。
-
スケーラビリティの課題: 世界規模の需要に合わせて集中型 SFU をスケールするのは難しく、非効率です。追加インフラと複雑さが増えることがよくあります。
Cloudflare Realtime は、Cloudflare のグローバルネットワーク基盤でこれらの制約に対応します。
-
リージョンに縛られないグローバル分散: 従来の SFU と異なり、Cloudflare Realtime はリージョン制約なしでグローバルに動作します。世界 250 以上の拠点を使い、低レイテンシで動画を転送します。世界中のユーザーに対して高速で効率的です。
-
分散アーキテクチャ: Realtime 専用サーバーはありません。Cloudflare ネットワーク内のすべてのサーバーが Realtime の処理に加わり、スケーラビリティと信頼性を確保します。この考え方は、1.1.1.1 DNS や Cloudflare の CDN など、ほかの Cloudflare 製品の分散性と似ています。
リアルタイム通信セッションを始めるとき、エンドユーザーのクライアントは最寄りの Cloudflare 拠点へ WebRTC PeerConnection を確立します。この接続は anycast ルーティングの恩恵を受け、可能な限り低いレイテンシに最適化されます。
-
シグナリング用 HTTPS API: Cloudflare Realtime は、わかりやすい HTTPS API でシグナリングを簡素化します。この API はメディアストリームの開始と調整を管理し、クライアントが新しい MediaStreamTracks をプッシュしたり、サーバーからこれらのトラックをリクエストしたりできます。
-
効率的なメディア処理: 異なるクライアントからの異なるメディアストリームに複数の接続が必要な従来の方式と異なり、Cloudflare Realtime はクライアントあたり 1 つの PeerConnection を維持します。この流れにより複雑さが減り、1 つの接続でメディアのプッシュとプルの両方を扱うことで性能が向上します。
Cloudflare Realtime は、状態管理と参加者の追跡をアプリケーション層に委ねます。開発者は、参加者の参加やメディアストリームの更新といったイベントの扱いを自前のロジックで設計できます。アプリケーションごとに合わせた体験を作れます。
Cloudflare Realtime の統合は、手順がわかりやすく効率的です。リージョン単位のスケールやサーバー管理の負担を減らし、世界中のユーザー向けのリアルタイム体験づくりに集中できます。