我在弹性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) { ... });
突然开始返回一个用户模型,其中包含填充了嵌入对象的关联...当保存时,由于嵌入的记录而开始抛出水线错误。
我的猜测是,当弹性beanstalk正在启动新服务器时,正在更新sails的依赖关系,其中一些依赖关系正在改变sails运行的方式。
或者我完全不合适,还有其他事情正在发生。无论哪种方式,我都会非常紧张,一个相当繁忙的网站随时都会崩溃。
有没有人对正在发生的事情有任何建议。或者有过类似的经历。
Muchos gracias。
答案 0 :(得分:0)
我的猜测是帆的依赖关系正在更新 弹性beanstalk正在开辟新的服务器,
如果您在扩展基础架构上作为生产部署的一部分运行npm install
,那么您将遇到问题。您应该使用npm将应用程序预打包到单个tarball中并安装它。如果有人取消发布您的某个依赖项会怎么样? npm依赖图可以是几十层深。如果在这些级别中发生任何变化,您可能会发现问题。
如果您遇到关键部署问题,请与公司联系:sailsjs.com/about