0

我正在制作一个非常简单的网络应用程序,管理员用户可以在其中进入后端并为具有一些额外字段(标题、描述等)的特定媒体创建登录页面。

每个页面都有一个看起来像 的 URL,example.com/page-name-slug键入不存在的 slug 将正常失败(www.example.com例如,重定向到 )。

我希望尽可能简单且便宜地在 AWS 上托管它,但我也希望它具有高性能(即毫无问题地处理大流量峰值)。我还想尽可能多地使用开箱即用的框架,并尽可能少地进行自定义开发。

我的理想设置:

  1. 一些类似 CMS 的产品,它们作为 AWS Lambda funcs(所以可能是 SPA)运行,或者不太理想的是,在非常小的 Elastic Beanstalk 环境中运行。
  2. 使用任一
    • AWS 数据库即服务产品之一(发电机数据库或无服务器 Aurora)。我试图尽可能避免为只会偶尔更改的数据库实例支付持续的小时成本。
    • 文件支持的存储(即 JSON 文档)
    • 吉特
  3. 无论后端存储机制如何,我都想为每个登录页面写出(到 S3 存储桶)一个 JSON 文件,文件名为page-name-slug.json. (这和“后端存储”可能真的是同一件事......我们不是在谈论大量的对象)。
  4. 我有一个简单的前端应用程序(在本例中为 Vue),它查看 URL 中的 slug 并异步获取正确的 json 文件以填充其数据。

一个明显的复杂性是我需要每个匹配的 urlexample.com/[slug]来加载相同的 html/js 应用程序。这很容易通过 cloudfront 函数/lambda@edge 完成,但值得一提。

大多数情况下,我想避免(在最大程度上):支付持续的服务器成本(无服务器等),并且不得不担心我的“API”上的流量负载(因此写出静态 JSON 文件,而不是从数据库中获取, ETC)。


我见过的“Headless CMS”/“JAMstack”产品都不能做到这一点。似乎大多数都针对博客之类的东西进行了优化,和/或没有办法静态呈现 JSON 文档而不是完整页面。当然,我可以让它在每页呈现应用程序的完整副本,并带有一个烧录的 JSON 对象,但这对我来说并不那么干净。

我认识到这很容易从头开始构建,老实说,我已经拼凑出一个有点不同的解决方案,但在这一点上,我只是好奇是否有一个项目或框架(或几个组合)符合要求。

我很想更多地了解人们在太空中成功使用的项目,因此非常欢迎创意。

谢谢!

4

0 回答 0