前端和后端资源

Frontend and backend resources

我们正在开发一个小型市场网站。我正在使用 Java 构建后端,而我的同事正在使用 next.js 构建前端作为一个完全独立的项目。我们正处于我们想要部署它并连接它以查看它是否正常工作的阶段。现在这是我们俩都没有太多经验的部分。

此时我们遇到了一个问题。后端正在从各种来源下载数据。名称、价格等存储在数据库中,但图像计划存储在服务器上。据我们所知,诀窍是 next.js 理想情况下应该部署到 Vercel,但我们有另一个后端托管服务。图像经常显示在前端。我觉得从后端不断发送图像是错误的。我想知道是否:

我尝试搜索但没有真正找到任何好的结果,这让我觉得我可能不知道这类架构问题的正确术语。

对此有什么最佳实践或通用解决方案吗?

我会将路径存储在数据库中,并通过将复杂性委托给 CDN 来利用图像优化内置功能之一。

在长期 运行 中,单独的优化对您的最终用户来说是一个很大的好处,因为节省了带宽并且您已经为 marketplace/e-commerce 解决方案选择了自定义路线,他们会绝对有利于长期转化:

If you want to use a cloud provider to optimize images instead of using the Next.js' built-in Image Optimization, you can configure the loader and path prefix. This allows you to use relative urls for the Image src and automatically generate the correct absolute url for your provider.

查看您认为更适合您的整个项目的云提供商的功能和定价,然后从那里着手。据我所知,所有 3 个都非常可靠。

如果你想要一个更自定义的路线,你的服务器负责交付(但不一定是你的后端服务器,即:S3,Digital Ocean Spaces),我会从这里开始:

(并非不客气:)您可能忘记了客户端的运行时以及网络的工作方式。

用户浏览器只需要图像的 URL - 图像可以来自任何地方。图片的 name/URL 可以在 database/backend 中,即使它与图片所在的位置完全不同。

除非我遗漏了什么...?