【发布时间】:2019-04-19 20:12:40
【问题描述】:
我有 express.js 服务器,我部署到 AWS 弹性 beanstalk。我使用车把引擎进行模板。模板结构比服务器代码更频繁地更改,因此我希望有一种快速的方法来部署它们。我已经尝试在单独的 S3 静态存储桶上托管模板,然后从 nodejs 代码中加载它们。这样,我可以通过使用 S3 静态部署而不是重新启动所有服务器节点的 eb deploy 来非常快速地部署对模板的更改。
这是我用于模板加载的 node.js 服务器代码:
const s3 = new aws.S3();
s3.getObject({Bucket: 'bucketname.com', Key: 'views/' + path}, (err, data) => {
const template = handlebars.compile(data.Body.toString('utf-8'));
resolve(template);
});
这解决了模板部署速度问题,但我不确定它是否不会引入额外的性能损失。我认为由于 S3 和弹性 beantalk 都是亚马逊服务,因此影响应该很小,但网站基准测试让我不这么认为。
也许有更好的方法来解决模板部署速度的问题?
【问题讨论】:
-
“过早的优化是万恶之源” Donald Knuth。在你分析代码并看到你有一个之前,不要认为你的性能会受到影响。这可能是优化代码的好地方,但可能不是。
标签: node.js amazon-web-services express handlebars.js