Oracle Cloud 上部署低延迟监视方视频流平台

近年来,对实时流媒体关注方的需求激增,为 Red5 Pro 这样的流媒体平台创造了日益增长的市场。

尽管流处理提供商之间竞争激烈,但并非所有平台都是平等的。实际上,许多流处理服务都伴有 30-120s 或更多延迟。这样的滞后会毁掉一个看守党,因为一些成员可以体验到家庭跑步的兴奋,打碎或打败它发生,而另一些成员在看到行动之前几秒钟的联合观察者的欢呼。但是,Red5 Pro 开发了一个基于 Web 实时通信 (WebRTC) 的媒体服务器系统,该系统提供实时流视频,延迟不到 500 毫秒,或大约 0.5 秒,允许观看方中的每个人同时看到该操作。

Red5 Pro 在 Oracle Cloud Infrastructure (OCI) 上运行平台,并在 KeepBoxingFree.com 上支持监视方。每个 Red5 Pro 部署支持 50,000 个用户、6,250 个监视方以及每个监视方 8 个用户。Red5 Pro 能够以小增量扩展:单个节点(可扩展的最小节点)可增加 300-1000 个用户的容量。通过小增量扩展,Red5 Pro 无需空闲实例即可按需扩展。根据观察人数和观察时间,估计出站流量将生成:

  • 适用于多达 50,000 个用户的 4.5 Mbps 位数
  • 低于 500 毫秒的延迟,即使在峰值容量期间也是如此

Red5 Pro 选择在 Oracle Cloud Infrastructure 上运行其平台,以便可以利用:

  • 可以使用 AMD E4 弹性计算配置在突发事件期间快速扩展
  • 降低数据传输成本

    入站数据传输没有费用。对于出站数据传输,每月前 10 TB 免费。

  • 启动 Red5 Pro 节点时的一致时间(实例)

    与其他催眠剂一样,发射时间以前花费了 8 至 10 个小时。通过 OCI,启动时间缩短到两个小时。这允许 Red5 Pro 在快速需要数百个节点/实例时进行容量扩展。

体系结构

Red5 Pro 观看聚会可由广大公众、名人以及负责为活动提供现场视频馈送的广播公司访问。

该体系结构由 Oracle Cloud Infrastructure (OCI) 的不同区域中的 Red5 Pro 服务器构成,由流管理器管理。这些流管理器是 Red5 Pro 生态系统的主要入口点,并负责分配适当的服务器实例来发布或订阅流。流管理器还平衡负载,并负责监视和管理节点生命周期。

用户通过访问监视方 Web 服务器来注册帐户。用户帐户信息和事件详细信息存储在托管会议数据库的完全托管 Oracle MySQL Database Service 集群中。然后,账户持有者可以注册活动,并邀请他们的朋友加入观看聚会。验证后,用户流量将经过一组负载平衡器,然后使用 OCI 自动缩放来监视通过使用 OCI 自动缩放进行缩放的交易方 Web 服务器,以处理任何用户流量激增。

体系结构中的所有虚拟实例都在 AMD E4 弹性虚拟机 (VM) 上运行。在活动当天,广播公司将其活动馈送发送到转码器,该转码器将馈送转换为不同的变体(各种解析的自适应位速率流),如果不需要转码,则直接发送到源服务器。Red5 Pro 支持两种类型的流:由广播员和网络流生成的实时流,由通过网络摄像头参与视频聊天的观看方订户生成。

流管理器将广播器流量定向到源服务器,并将订户流量定向到边缘服务器。流管理器还充当 WebRTC 连接中对等节点之间的代理 Web 套接字的信号服务器。流信息由流管理器维护,然后存储在代表会议数据库的 Oracle MySQL Database Service 集群中。为了确保低延迟,Red5 Pro 没有任何源和边缘服务器的负载平衡器,从而最大程度地减少发布者和订阅者之间的跃点。网络安全组 (NSG) 控制资源之间的网络流量。

下图说明了 Web 交易方和广播连接过程。



red5-oci-data-flow-oracle.zip

Web 界面的高可用性由可用性域中的负载平衡服务器在三个容错域中维护。两个 Oracle MySQL Database Service 数据库都位于高可用性集群中。写入主数据库的数据也会复制到备用数据库。流管理器自动缩放源服务器和边缘服务器以支持负载更改。流管理器使用 terraform 代码动态预配和取消预配节点以实现自动缩放。通过 Red5 Pro 策略配置和触发缩放,这些策略基于与源节点和边缘节点的连接数。例如,默认情况下会为每个组件触发 60% 的报警。如果为边缘服务器设置了 400 个连接的策略,当有 241 个连接时,将部署新的边缘服务器以容纳其他用户。可以将策略设置为预发布服务器,而不是根据需要进行扩展。Oracle Cloud Infrastructure 域名服务用于管理支持事件的 DNS 区域。OCI 电子邮件传送服务用于将来自 Red5 Pro 系统的电子邮件发送给注册用户。

下图说明了此参考体系结构。



red5-oci-architecture-oracle.zip

Red5 Pro 的未来状态架构愿景包括:

  • 在全球多个 OCI 区域中部署 Red5 Pro 平台
  • 创建多租户体系结构以支持每个服务器的多个广播通道
  • 将 Oracle 人工智能语音和语言服务集成到文本转录和语言翻译中,为广播员和用户提供多语言选项

该体系结构具有以下组成部分:

  • 租户

    租户是 Oracle 在您注册 Oracle Cloud Infrastructure 时在 Oracle Cloud 中设置的安全隔离分区。您可以在租户中的 Oracle Cloud 中创建、组织和管理资源。租户与公司或组织同义。通常,公司只有一个租户并反映在该租户中的组织结构。单个租户通常与单个订阅关联,单个订阅通常只有一个租户。

  • 区域

    Oracle Cloud Infrastructure 区域是一个局部地理区域,包含一个或多个称为可用性域的数据中心。区域独立于其他区域,广阔的距离可以将其分开(跨国家甚至大陆)。

  • 区间

    区间是 Oracle Cloud Infrastructure 租户中的跨区域逻辑分区。使用区间在 Oracle Cloud 中组织资源、控制对资源的访问以及设置使用限额。要控制对给定区间中资源的访问,您可以定义策略来指定哪些人可以访问资源以及他们可以执行的操作。

  • 可用性域

    可用性域是区域中的独立独立数据中心。每个可用性域中的物理资源与提供容错能力的其他可用性域中的资源隔离。可用性域不共享基础设施(例如电源或冷却设备)或内部可用性域网络。因此,一个可用性域出现故障不会影响区域中的其他可用性域。

  • 堡垒服务

    Oracle Cloud Infrastructure 堡垒提供对没有公共端点且需要严格资源访问控制(例如裸金属和虚拟机、Oracle MySQL Database Service自治事务处理 (Autonomous Transaction Processing,ATP)、Oracle Container Engine for Kubernetes (OKE) 以及允许安全 Shell 协议 (Secure Shell Protocol,SSH) 访问的任何其他资源的受限且有时限的安全访问。通过 Oracle Cloud Infrastructure 堡垒服务,您可以启用对专用主机的访问,而无需部署和维护跳转主机。此外,您还可以使用基于身份的权限和集中、审计和有时限的 SSH 会话来提高安全状况。Oracle Cloud Infrastructure 堡垒消除了对堡垒访问的公共 IP 的需求,在提供远程访问时消除了散列表和潜在攻击面。

  • DNS

    Oracle Cloud Infrastructure 域名系统 (Domain Name System,DNS) 服务是一个高度可扩展的全局任播域名系统 (Domain Name System,DNS) 网络,可提供增强的 DNS 性能、可恢复性和可扩展性,从而最终用户可以尽可能快地从任何位置连接到客户的应用。

  • 策略

    Oracle Cloud Infrastructure Identity and Access Management 策略指定谁可以访问哪些资源以及如何访问。在组和区间级别授予访问权限,这意味着您可以编写策略来向组授予特定区间或租户中特定类型的访问权限。

  • 电子邮件传送

    Oracle Cloud Infrastructure 电子邮件传送是一项高度可扩展、经济高效且可靠的电子邮件传送服务,用于发送大量应用生成的电子邮件以进行关键任务营销、通知和事务通信,例如接收、欺诈检测预警、多因素身份验证和密码重置。

  • Terraform

    Oracle Cloud Infrastructure Resource Manager 允许您自动执行预配 Terraform 资源的过程。它可帮助您使用基础设施即代码模型安装、配置和管理资源。

  • 虚拟云网络 (VCN) 和子网

    VCN 是您在 Oracle Cloud Infrastructure 区域中设置的可定制软件定义网络。与传统数据中心网络一样,VCN 允许您完全控制您的网络环境。一个 VCN 可以具有多个不重叠的 CIDR 块,您可以在创建 VCN 后对其进行更改。您可以将 VCN 细分为多个子网,这些子网可以限定到区域或可用性域。每个子网包含一系列不与 VCN 中的其他子网重叠的连续地址。创建后可以更改子网的大小。子网可以是公共子网,也可以是专用子网。

  • 安全列表

    对于每个子网,您可以创建安全规则来指定必须允许进出子网的流量源、目标和类型。

  • 路由表

    虚拟路由表包含将流量从子网路由到 VCN 外部的目标(通常通过网关)的规则。

  • Internet 网关

    互联网网关允许 VCN 中的公共子网与公共互联网之间的通信。

  • 服务网关

    通过服务网关,可以从 VCN 访问其他服务,例如 Oracle Cloud Infrastructure Object Storage 。从 VCN 到 Oracle 服务的流量会通过 Oracle 网络网状结构网络传输,并且从不通过互联网传输。

  • 网络安全组 (NSG)

    网络安全组 (NSG) 用作云资源的虚拟防火墙。使用 Oracle Cloud Infrastructure 的零信任安全模型,所有流量将被拒绝,您可以控制 VCN 中的网络流量。NSG 由一组入站和出站安全规则组成,这些规则仅应用于单个 VCN 中一组指定的 VNIC。

  • 负载平衡器

    Oracle Cloud Infrastructure Load Balancing 服务提供从单个入口点到后端多个服务器的自动流量分配。

  • 计算

    Oracle Cloud Infrastructure Compute 服务可用于在云中预配和管理计算主机。您可以使用配置启动计算实例,以满足您对 CPU、内存、网络带宽和存储的资源需求。创建计算实例后,可以安全地访问它,重新启动它,附加和分离卷,然后在不再需要时终止它。

  • Oracle MySQL Database Service

    Oracle MySQL Database Service 是完全托管的 Oracle Cloud Infrastructure (OCI) 数据库服务,可帮助开发人员快速开发和部署安全的云原生应用。Oracle MySQL Database Service 针对 OCI 和 MySQL 工程团队进行了 100% 的优化,并且完全可用。

    Oracle MySQL Database Service 具有集成的高性能分析引擎 (HeatWave),可直接针对可操作的 MySQL 数据库运行复杂的实时分析。

充分利用内置和部署功能

想要展示您在 Oracle Cloud Infrastructure 上构建的内容?与我们的云架构师全球社区分享您的经验教训、最佳实践和参考架构?让我们帮助您入门。

  1. 下载模板 (PPTX)

    通过将图标拖放到示例线框中,说明您自己的参考体系结构。

  2. 观看体系结构教程

    获取有关如何创建引用体系结构的分步说明。

  3. 提交您的图表

    请向我们发送一封包含您的图表的电子邮件。我们的云架构师将查看您的图表并与您联系以讨论您的架构。

确认

  • Authors:Sasha Banks-Louie Robert Huie
  • 贡献者:Praveen Coca、Bill Wimsatt、Robert Lies