我需要对这种部分无服务器架构设计的反馈

时间:2016-08-04 01:54:30

标签: amazon-web-services amazon-s3 amazon-ec2 aws-lambda static-generator

Half serverless blog with react front end

我想在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,但我必须处理缓存失效问题,更新速度较慢的站点以及更大的服务器。

这对我来说似乎是一个双赢。反馈

1 个答案:

答案 0 :(得分:0)

这应该是评论而不是答案,但因为我没有足够的分数......

此架构还有其他一些注意事项。 Lambda函数非常适合水平扩展微服务,每个小函数并行执行数十或数百次。生成静态站点通常是单线程操作,因此您可能看不到预期的收益,您还需要查看超时期限(当前最多300秒),并确保您可以生成该站点时间。当然,如果您没有运行Lambda代码,则不会收取费用。

对于你的管理员前端,我建议使用ElasticBeanstalk,即使你将它绑定在一个实例上,它也会为你提供很多很棒的功能,比如滚动更新。

祝你好运。

相关问题