Cloudflare Realtime 通过利用分布式实时数据平面,代表了构建实时应用程序的范式转变。它在实时通信中创造了无缝体验,超越了传统的地理限制和可扩展性问题。Realtime 专为希望在服务器-客户端架构中集成 WebRTC 功能,而无需深入研究区域扩展或服务器管理复杂性的开发人员而设计。
选择性转发单元(SFU)在管理 WebRTC 连接方面起着至关重要的作用,它选择性地将媒体流转发给视频通话中的参与者。然而,它们的集中式本质引入了固有的局限性:
-
区域依赖性: 集中式 SFU 需要特定的区域进行部署,除了那些靠近所选区域的用户外,这会导致全球用户的延迟问题。
-
可扩展性问题: 扩展集中式 SFU 以满足全球需求可能极具挑战性且效率低下,通常需要额外的基础设施和复杂性。
Cloudflare Realtime 通过利用 Cloudflare 的全球网络基础设施解决了这些局限性:
-
无区域的全球分布: 与传统 SFU 不同,Cloudflare Realtime 在全球范围内运行,没有区域限制。它利用 Cloudflare 全球 250 多个地点的广泛网络来确保低延迟视频转发,从而使全球用户的使用变得快速且高效。
-
去中心化架构: Realtime 没有专用服务器。Cloudflare 网络中的每台服务器都参与处理 Realtime,从而确保了可扩展性和可靠性。这种方法反映了 Cloudflare 产品的分布式特性,例如 1.1.1.1 DNS 或 Cloudflare 的 CDN。
要发起实时通信会话,终端用户的客户端会建立到最近 Cloudflare 地点的 WebRTC PeerConnection。该连接受益于 anycast 路由,从而优化以实现尽可能低的延迟。
-
用于信令的 HTTPS API: Cloudflare Realtime 通过简单直观的 HTTPS API 简化了信令。该 API 管理媒体流的发起和协调,使客户端能够推送新的 MediaStreamTracks 或向服务器请求这些轨道。
-
高效的媒体处理: 与来自不同客户端的不同媒体流需要多个连接的传统方法不同,Cloudflare Realtime 为每个客户端维持单个 PeerConnection。这种流程化处理通过单一连接处理媒体的推送和拉取,从而降低了复杂性并提高了性能。
Cloudflare Realtime 将状态管理和参与者跟踪的职责委托给应用层。开发人员能够设计他们自己的逻辑来处理参与者加入或媒体流更新等事件,从而为在应用程序中创建量身定制的体验提供灵活性。
将 Cloudflare Realtime 集成到您的应用程序中是一个简单且高效的过程,消除了区域可扩展性和服务器管理的障碍,使您能够专注于为全球用户创建引人入胜的实时体验。