跳至主要内容

内容分发网络 (CDN)

什么是 CDN?

CDN,即内容分发网络,是一种用于地理上将您的内容分发给最终用户的服务。 它通过减少加载内容所需的时间来帮助提高性能。

CDN 通过将内容分布到多个战略性放置在不同地理位置的服务器上来工作。 这种分布确保内容从物理上离用户更近的服务器交付,减少了数据需要传输的距离。 它还通过将内容的交付卸载到 CDN 服务器,帮助减轻源服务器(您的 Owncast 服务器)的负担。

CDN 采用缓存来存储内容。 当用户请求已经在 CDN 服务器中缓存的内容时,可以快速交付,而无需从原始服务器检索。 这种缓存机制提高了您内容的整体速度和响应性。

除了缓存,CDN 还可能提供其他优化功能,如数据压缩和安全措施,例如 DDoS 保护。 这些附加功能有助于进一步提高网站和网络应用的性能、可扩展性和可用性。

这对您的 Owncast 流有什么帮助?

在您 Owncast 实例前面放置 CDN 会对您流的观众有用,这些观众可能地理上离您的实际服务器很远,从而导致流视频速度较慢,并可能导致缓冲或其他问题。

此外,您的整个 Owncast 网页将在所有访问者中加载更快,因为 CDN 将缓存和提供构成您 Owncast 实例的静态资源(如 CSS、JavaScript、图像等)。

存储提供商和 CDN 之间有什么区别?

CDN 旨在通过缓存和从离用户更近的服务器分发内容来提高交付性能并减少延迟。 存储提供商专注于提供可扩展和可靠的存储基础设施来存储数据。 虽然它们的功能可能有一些重叠,但它们的主要目标和特性使它们彼此不同。

虽然 CDN 和存储提供商是两种不同的服务,但一些对象存储提供商可能提供内置的 CDN 可供启用。

如何将 CDN 与 Owncast 一起使用?

虽然无法详细介绍每个 CDN 提供商和配置,这里是您需要采取的高层步骤,以在您的 Owncast 实例前放置 CDN。

没有存储提供商

  1. 您的实际 Owncast 服务器,对于 CDN 来说被称为 "源",将需要一个与您访问 Owncast 实例时使用的主机名不同的公共可用主机名。 例如,如果您希望您的观众通过 https://owncast.example.com 访问您的 Owncast 实例,您需要创建一个新主机名,如 owncast-origin.example.com,并将其指向您的 Owncast 服务器。
  2. 在您的 CDN 配置中,您需要告诉它使用 owncast-origin.example.com 作为您 Owncast 实例的源。
  3. 您需要更新 DNS 配置,将您的 Owncast 主机名指向您的 CDN。 例如,如果您通过 https://owncast.example.com 访问您的 Owncast 实例,您需要更新 DNS 配置,将 owncast.example.com 指向您的 CDN 而不是您的实际服务器。
  4. Visit your Owncast admin and go to Configuration > Server Setup. On the Server Config tab, under Advanced Settings, set the "Websocket host override" to the origin URL you created in step 1. For example, https://owncast-origin.example.com. The field takes a regular http:// or https:// URL and the web player converts it to a websocket connection. 如果您不执行此步骤,您的聊天将无法再为不支持通过 websocket 传递的 CDN 提供商访问。 See the server setup documentation for more about these settings.

与外部存储提供商一起

  1. 在这种配置中,您的存储提供商是源服务器,而不是您的 Owncast 服务器。
  2. 从您的提供商处获取存储桶的端点主机名。
  3. 在您的 CDN 配置中,您需要告诉它使用存储提供商主机名作为源服务器。
  4. In the Owncast admin go to Configuration > Server Setup. On the Server Config tab, under Advanced Settings, set the "Serving Endpoint" to the full URL of your CDN deployment. For example, https://cdn.example.com. See the server setup documentation for more about these settings.

需要考虑的事项

  • 您的 Owncast 服务器(源服务器)必须仍在一个足够快速的网络上,以便 CDN 访问您的内容并将其分发给观众。 简单地添加 CDN 并不会自动使您的 Owncast 网络变得更快,但它可能通过缓存减少服务器的网络负载。
  • 在某些情况下,在您的 Owncast 服务器前使用 CDN 会使 Owncast 更难准确统计有多少观众。 这是您需要考虑的权衡。 通常,如果您有少量观众,它会报告的观众数量会高于实际观众数量(由于多个 CDN 服务器抓取您的内容),而如果有大量用户,它会报告的观众数量会低于实际观众数量(由于多个观众观看相同的缓存内容)。
  • 观众越多,CDN 越有用。 如果您有少量观众,很可能每个请求无论如何都会命中您的源服务器,因此 CDN 的用处不大,甚至在某些情况下对观众可能是有害的,因为它需要额外的网络跳跃。 参考您的 CDN 统计数据,以查看有多少请求是从 CDN 缓存中提供的(命中)与您的源服务器(未命中)。

Improve this page

See something missing or incorrect? Edit this page and improve the documentation for everyone.

Contributors to this documentation