我已经能够在开发人员控制台中成功创建Google容器群集,并将我的应用程序部署到它.这一切都很好,但我发现我无法连接到Cloud SQL,我得到;
"Error: Handshake inactivity timeout"
Run Code Online (Sandbox Code Playgroud)
经过一番挖掘,我从App Engine或本地机器连接到数据库时没有遇到任何问题,所以我觉得这有点奇怪.那时我注意到集群权限......
当我选择我的群集时,我看到以下内容;
Permissions
User info Disabled
Compute Read Write
Storage Read Only
Task queue Disabled
BigQuery Disabled
Cloud SQL Disabled
Cloud Datastore Disabled
Cloud Logging Write Only
Cloud Platform Disabled
Run Code Online (Sandbox Code Playgroud)
我真的希望在我的容器引擎节点中同时使用云存储和云端SQL.我允许在我的项目设置中访问每个API,我的Cloud SQL实例正在接受来自任何IP的连接(我之前在App Engine上的托管虚拟机中运行过Node),所以我的想法是Google明确禁用这些API.
所以我的两部分问题是;
任何帮助非常感谢!
node.js google-cloud-storage google-cloud-sql google-cloud-platform google-kubernetes-engine
我们正在使用Cloud SQL数据库在Google Container Engine上运行Sails.js API,最近我们发现我们的一些端点一直在停滞,从不发送响应.
我有健康检查监测/ v1 /状态,当我得到以下简单的响应时,它注册了100%的正常运行时间;
status: function( req, res ){
res.ok('Welcome to the API');
}
Run Code Online (Sandbox Code Playgroud)
一旦我们添加了数据库查询,端点就会开始超时.它不会一直发生,但似乎是随机的,有时持续几个小时.这就是我们将查询更改为;
status: function( req, res ){
Email.findOne({ value: "someone@example.com" }).then(function( email ){
res.ok('Welcome to the API');
}).fail(function(err){
res.serverError(err);
});
}
Run Code Online (Sandbox Code Playgroud)
相当可疑的是,这一切在我们的登台和开发环境中运行良好,只有在生产中部署代码时才会发生超时并且只在某些时间发生.在暂存和生产之间唯一的变化是我们连接的数据库和服务器上的负载.
正如我之前提到的,我们使用的是Google Cloud SQL和Sails-MySQL适配器.我们从生产服务器有以下错误堆栈;
AdapterError: Invalid connection name specified
at getConnectionObject (/app/node_modules/sails-mysql/lib/adapter.js:1182:35)
at spawnConnection (/app/node_modules/sails-mysql/lib/adapter.js:1097:7)
at Object.module.exports.adapter.find (/app/node_modules/sails-mysql/lib/adapter.js:801:16)
at module.exports.find (/app/node_modules/sails/node_modules/waterline/lib/waterline/adapter/dql.js:120:13)
at module.exports.findOne (/app/node_modules/sails/node_modules/waterline/lib/waterline/adapter/dql.js:163:10)
at _runOperation (/app/node_modules/sails/node_modules/waterline/lib/waterline/query/finders/operations.js:408:29)
at run (/app/node_modules/sails/node_modules/waterline/lib/waterline/query/finders/operations.js:69:8) …
Run Code Online (Sandbox Code Playgroud) mysql google-cloud-sql google-compute-engine sails.js waterline