托管虚拟导览意味着让查看器、场景数据、全景图和辅助媒体在线可用,以便访客可以在浏览器中浏览它们。可见的体验可能感觉像一个连续的空间,但在其背后实际上会有对许多独立文件的请求,有时还包括来自应用程序的响应。
本说明将服务器、存储、带宽和内容分发网络的职责区分开来。它还解释了 SaaS 与自托管交付如何划分责任。有关安装说明而非基础设施概念,请参阅我们的实用指南:托管您自己的虚拟导览。
当有人打开虚拟导览时会发生什么?
导览 URL 将浏览器引导到一个 Web 服务。浏览器加载查看器和项目信息,然后请求当前场景所需的图像和媒体。根据查看器的不同,它可能获取完整的全景图,或在访客环顾和缩放时按不同分辨率获取较小的图像切片。
- 查看器启动:HTML、脚本和展示资源建立交互式体验。
- 项目载入:场景连接、热点位置和设置告诉查看器显示什么。
- 媒体到达:按需交付全景文件或切片、平面图、音频和视频。
- 浏览器呈现场景:访客的设备解码图像并绘制沉浸式视图。
这些阶段说明了为什么托管速度和设备性能是两回事。快速的服务器无法保证在负载过重的手机上顺畅渲染,而性能强大的手机也无法弥补缓慢的连接或不必要的大量下载。
服务器:运行应用程序并响应请求
服务器接收请求并发送响应。对于静态导出的导览,它可以简单地交付现有的网页文件。基于浏览器的创作平台可能还需要应用运行时和数据库来管理项目、验证编辑者、保存更改或处理上传。
发布工作负载和浏览工作负载是不同的。在准备过程中生成图像切片或调整大型全景图的大小会消耗 CPU 和内存。提供已生成的图像主要是交付任务。增加 CPU 可能有助于处理,但不能解决访客的下载瓶颈问题。
源(origin)是检索文件或响应的权威来源。它可能是一个 Web 服务器、应用服务或对象存储服务。一个物理机器不必承担所有角色,租用云基础设施也可以作为自托管部署的一部分。
存储:您保留多少内容
存储是静息状态下文件和数据所占的容量。要计入的不仅是原始全景图:生成的切片、预览图、热点媒体、项目记录和保留的版本也会占用空间。备份和编辑母版可能单独存放,但它们仍需各自的容量预算。
- 本地服务器存储:文件存放在附加到应用服务器的存储上。可用空间和恢复取决于该托管环境。
- 对象存储:文件作为对象存储在独立服务中。只要软件支持这种安排,它可以将媒体增长与应用资源分离。
- 备份存储:可恢复的副本可防止删除或故障。第二份实时副本或 CDN 缓存并不自动构成可用的备份。
举例计算,40 个已发布项目平均每个 250 MB,使用十进制单位大约占用 10 GB。这不包括备份、原始档案、应用程序和额外版本。应测量完整的已发布项目,而不是仅仅乘以原始照片大小。我们的 虚拟导览文件格式指南 解释了工作母版和交付资产为何用途不同。
带宽与传输:访客接收多少内容
严格来说,带宽是连接在单位时间内移动数据的能力,通常以兆比特每秒(megabits per second)表示。托管计划常用同一术语表示按月的传输配额,以 GB 或 TB 计量。容量影响同时移动的数据量;传输量则衡量在一段时间内实际移动了多少数据。
一个已存储的导览并不会在每次访问时消耗相同的传输量。访客可能只打开一个场景或浏览所有场景;移动端查看器可能请求较低分辨率;缓存的资源可能被重用。自动播放视频和预加载会显著改变总量。
示例性每月传输量 = 访问次数 × 每次访问平均交付的数据量。如果 2,000 次访问每次接收 30 MB,访客交付大约为十进制单位下的 60 GB。30 MB 是一个假定的测量值,并非虚拟导览的基准。它与前面示例中的总存储项目大小无关。
还要将每月总量与并发需求区分开来。一次带来大量同时访客的活动可能会在传输总量尚算合理时仍然给交付带来压力。检查计划如何处理传输限制、吞吐量、请求计数和超额使用,不要把“无限”误解为资源无限。
CDN:将缓存的媒体更靠近访客进行交付
内容分发网络会将合格资产的缓存副本分布到边缘节点。请求可以由边缘缓存回答,而无需反复从源获取相同的图像。这可以降低交付延迟和源流量,尤其是对于地理分布广泛的受众。
缓存未命中仍然需要向上游获取,因此 CDN 并不能消除对可用源的需求。它也不会自行使大型全景图变小。图像优化、适当的分辨率和合理的加载行为仍然是性能的独立部分。参见 Cloudflare 关于 CDN 交付的说明 以了解其基本模型。
缓存规则必须符合内容
公共全景切片通常可以缓存以供重用。编辑会话、个性化响应和受限导览需要遵守访问控制的规则。如果基础媒体仍然可以公开检索,仅凭私有链接并不足够。MDN 的 Cache-Control 参考 解释了如何指示浏览器和共享缓存。
更新也需要新鲜度策略。如果在地址不变的情况下替换了全景图,缓存的旧副本可能会在其过期或被使失效之前仍然可见。使用版本化的资产 URL 可以将修订分开。CDN 配置应支持应用的发布行为,而不是对每个响应一刀切地应用同一规则。
源流量与访客流量是分开的
当边缘缓存提供文件时,访客仍然接收这些字节,即便源避免再次发送它们。请分别查看源托管、存储和 CDN 计费:缓存可以减少某一项传输开销,而另一项服务可能仍会就交付或请求收费。节省程度取决于提供商的条款和实际缓存行为。
SaaS 与自托管:相同的构建模块,不同的运营者
两种方法都需要计算、存储和网络交付。区别在于谁选择、操作并支付这些组件,以及这些成本和控制如何向导览创建者展示。
- SaaS 托管:平台运营商管理基础设施和应用。您的订阅或使用计划决定可用的容量、功能、支持和发布条件。
- 自托管交付:您选择兼容的托管环境并自行安排运维,或通过托管提供商代为管理。基础设施账单与软件许可保持分离。
- 托管式主机服务:托管合作伙伴可以处理指定的服务器任务,而不将导览软件变成 SaaS。服务协议定义是否包含应用更新、备份和恢复。
标签本身并不能保证速度、可移植性或更低的总体成本。SaaS 服务可以使用 CDN,自托管平台也可以运行在租用的云服务器上。比较导出访问、域名控制、容量规则和分配的责任。我们的 自托管与云的比较 涵盖更广泛的业务决策。
按它们解决的问题来解读托管规格
- 上传失败或处理停止:检查上传限制、运行时设置、可用内存、CPU 和剩余存储空间。
- 第一场景加载缓慢:检查响应时间、初始资产大小、网络距离和访客的连接。
- 导航触发长时间等待:检查场景负载、切片请求、预加载和缓存行为。
- 繁忙发布导致错误:检查并发请求、应用容量、源负载和交付限制。
- 更新后旧图像仍然存在:检查浏览器和 CDN 缓存、资产版本和失效机制。
从一个具有代表性的导览开始,观察浏览器的网络请求以及托管使用报告。将交付的字节、响应延迟和呈现问题区分开来。这样的区分使托管规格变得有用:它将每项资源与访客体验的可观测部分连接起来。
常见问题
虚拟导览托管是否等同于存储 360 照片?
不是。存储仅保存文件,而托管还需要让查看器、项目信息和所需服务对访客可用。仅有一组全景图的文件夹并不能提供连通的场景或交互式导航。
每次访问都会下载整个导览吗?
不会。下载量取决于查看器的加载策略、所浏览的场景、请求的分辨率、媒体播放和缓存。请使用每次访问的实际交付量来估算流量,而不是项目的总大小。
每个虚拟导览都需要 CDN 吗?
不一定。面向附近受众的小型导览可能仅从源端就能获得足够的性能。当网络距离、重复请求或流量分布成为因素时,CDN 会变得有用;通过实际加载测试来确认其收益。
自托管是否意味着服务器必须放在我的办公室?
不是。这指的是部署控制权。租用的托管、托管服务器和云账户都可以在满足技术要求的情况下支持自托管软件。
将导览嵌入我的网站会把托管迁移到我的网站吗?
不会。嵌入的查看器通常仍然从其原始服务加载,其媒体仍由配置的主机交付。嵌入只是改变了导览出现的位置,而不会自动改变其应用和资产所在的位置。
在比较方案之前,先了解交付链
可靠的虚拟导览托管方法从区分四个问题开始:是什么运行应用、文件存放在哪里、访客接收多少数据,以及可重用的副本在哪里交付。SaaS 将这些决策打包为一项服务;自托管则让您可使用自己的提供商来安排它们。按照实际工作负载匹配资源,而不要假定单一的存储数值就能描述整个体验。
Simple Virtual Tour 提供一种自托管的方式来创建、管理和发布交互式导览。查看实时演示 以了解访客体验,或在规划自己的部署时 查看可用套餐。