我打算将 HTML、PDF 和图像文件存储在我的节点应用程序中的公共文件夹中,而不是一些 s3 存储桶 b/ci 想要从我的域中获得更清晰的 url 而不是 s3 url。随着时间的推移,我的应用程序增长到包含超过 5 万个 HTML、PDF 和图像。
由于应用程序占用空间很大,这是否会在未来减慢应用程序的速度,或者它仍然可以正常工作?
在应用程序中存储大量静态内容的潜在缺点是什么?
我打算将 HTML、PDF 和图像文件存储在我的节点应用程序中的公共文件夹中,而不是一些 s3 存储桶 b/ci 想要从我的域中获得更清晰的 url 而不是 s3 url。随着时间的推移,我的应用程序增长到包含超过 5 万个 HTML、PDF 和图像。
由于应用程序占用空间很大,这是否会在未来减慢应用程序的速度,或者它仍然可以正常工作?
在应用程序中存储大量静态内容的潜在缺点是什么?
应用程序的大小对其性能的影响很小。还有许多其他因素会产生更大的影响。
在应用程序中存储静态内容的一个缺点是它不是分布式的并且不能很好地扩展。
由于应用程序占用空间很大,这是否会在未来减慢应用程序的速度,或者它仍然可以正常工作?
本地存储 100Kb 或 100Gb 都没有关系。存储在本地硬盘上的数据量与应用程序的性能无关。
如果您将无数个文件全部放在一个目录中,这可能会稍微影响该目录中文件操作的操作系统性能,但如果您将文件分散到一个目录中不超过几千个,它根本不会影响任何事情.
您的应用程序实际读取和写入硬盘的数据量与应用程序的性能有很大关系。因此,如果这些是您的服务器被要求大量提供的静态文件,并且您将这种情况与文件托管在其他地方并由其他一些基础设施(如 S3)提供服务的情况进行比较,那么这确实会产生影响。提供静态文件是一项非常简单的操作,因此您可以随时将 NGINX 之类的东西放在您的 Web 服务器前面,以便在需要时非常有效地处理静态文件的服务。
在应用程序中存储大量静态内容的潜在缺点是什么?
据推测,您的意思并不是“在应用程序内”,而是“在本地硬盘上”。只要需要访问这些文件的唯一服务器进程在本地机器上,那么就没有缺点了。您需要确保本地硬盘驱动器有某种备份/冗余解决方案,因为它包含大量重要数据。将数据存储在像 S3 这样的服务上通常会为您处理备份和冗余(或者您可以轻松启用此类功能)。