我想在AWS上的nodeJS中使用AWS技术托管这种可扩展的博客或应用程序。这里的想法是拥有一个不负责服务网站的小型EC2服务器,但仅用于运行CMS /管理面板。虽然这些操作也可以是无服务器的,但我认为拥有专用的小型VM EC2实例可以更高效,并且可以更好地利用现有框架等。
在上图中,您可以看到有两种类型的用户Status Code: 200 OK
Cache-Control: no-store
Content-Type: text/html;charset=UTF-8
Date: Thu, 04 Aug 2016 15:29:37 GMT
Pragma: no-cache
Server: PMP
Set-Cookie: JSESSIONID=B9CA7B68CD5706C3B82FE925B3AB3244; Path=/; Secure; HttpOnly
Strict-Transport-Security: max-age=7776000; includeSubdomains
Transfer-Encoding: chunked
和audiences
。 Admin CRUD操作也会导致lambda运行。 Lambd会在Admin更改后生成静态站点,并将其传递给S3。用户被定向到S3中托管的静态站点。只有管理员/编写者才能访问该站点的服务器连接部分。
我认为这是一个非常可扩展且相对便宜的网站的好设计,只要面向用户的一方都是静态的。另一种方法是CDN,但我必须处理缓存失效问题,更新速度较慢的站点以及更大的服务器。
这对我来说似乎是一个双赢。反馈
答案 0 :(得分:0)
这应该是评论而不是答案,但因为我没有足够的分数......
此架构还有其他一些注意事项。 Lambda函数非常适合水平扩展微服务,每个小函数并行执行数十或数百次。生成静态站点通常是单线程操作,因此您可能看不到预期的收益,您还需要查看超时期限(当前最多300秒),并确保您可以生成该站点时间。当然,如果您没有运行Lambda代码,则不会收取费用。
对于你的管理员前端,我建议使用ElasticBeanstalk,即使你将它绑定在一个实例上,它也会为你提供很多很棒的功能,比如滚动更新。
祝你好运。