amazon-web-services - SailsJS 在 Amazon elastic beanstalk 上不稳定

标签 amazon-web-services sails.js amazon-elastic-beanstalk waterline

我在弹性 beanstalk 自动缩放部署上使用 sails,但事情不正常,看起来非常不稳定。

例如,(看似)出乎意料的是,过去 3 个月左右一直运行良好的以下自定义模型方法停止工作

var obj = this.toObject();
obj.permissions = obj.getPermissions();

将代码更改为

var obj = this.toObject();
obj.permissions = this.getPermissions();

解决了问题,但只是在网站关闭几个小时之后。

另一个例子

User.findOne({ id: 'someIDstring' }, function(err, user) { ... });

突然开始返回一个用户模型,其关联填充了嵌入式对象......当保存时由于嵌入式记录而开始抛出基线错误。

我的猜测是,当 elastic beanstalk 启动新服务器时,sails 的依赖项正在更新,其中一些依赖项正在改变 sails 的运行方式。

或者我完全偏离了目标,发生了其他事情。无论哪种方式,我都非常紧张,因为一个相当繁忙的网站随时都会崩溃。

有没有人对发生的事情有任何建议。或者有过类似的经历。

非常感谢。

最佳答案

My guess is that the dependencies of sails are being updated when elastic beanstalk is spinning up new servers,

如果您正在运行 npm install 作为扩展基础设施生产部署的一部分,您将会遇到问题。您应该使用 npm 将您的应用程序预先打包到一个 tarball 中并安装它。如果有人取消发布您的依赖项之一怎么办? npm 依赖关系图可能有几十层深。如果这些级别中的任何一个发生任何变化,您就会发现问题。

如果您有关键的部署问题/问题,请联系公司:sailsjs.com/about

关于amazon-web-services - SailsJS 在 Amazon elastic beanstalk 上不稳定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30539215/

相关文章:

node.js - Sails.js Waterline ORM : . findOrCreate() 没有 .populate() 方法

sql - 使用 Sequelize 作为 ORM 在 Sails 应用程序中使用原始查询

python - 403 forbidden for AWS Beanstalk Flask static files without SSL

amazon-ec2 - 无法 telnet 到 EC2 实例上的端口 25

python - 以编程方式创建 Amazon MTurk HITLayout 并获取 HITLayoutId?

node.js - Sails.js API 文档

amazon-web-services - 如何排查 Dockerrun 解析错误?

java - 从 Procfile 读取 Amazon Elastic Beanstalk 环境的变量

mysql - 尝试使用 mySQL Workbench 连接到 Amazon AWS 上的 mySQL 数据库

amazon-web-services - AWS API Gateway : Use Mock Integration to echo response body