【发布时间】:2014-11-28 04:29:22
【问题描述】:
在过去的几个月里,我遇到了一个问题,我在亚马逊 ec2 服务器上部署了我的应用程序,但我每天至少会遇到 10 到 30 次这些错误。
1) Error: connect ETIMEDOUT
at errnoException (net.js:904:11)
at Object.afterConnect [as oncomplete] (net.js:895:19)
2) Error: getaddrinfo ENOTFOUND
at errnoException (dns.js:37:11)
at Object.onanswer [as oncomplete] (dns.js:124:16)
--------------------
at Handshake.Sequence (/var/app/current/node_modules/mysql/lib/protocol/sequences/Sequence.js:15:20)
at new Handshake (/var/app/current/node_modules/mysql/lib/protocol/sequences/Handshake.js:9:12)
at Protocol.handshake (/var/app/current/node_modules/mysql/lib/protocol/Protocol.js:42:50)
at Connection.connect (/var/app/current/node_modules/mysql/lib/Connection.js:72:18)
at module.exports.connect (/var/app/current/node_modules/sequelize/lib/dialects/mysql/connector-manager.js:276:16)
at Object.pool.Pooling.Pool.create (/var/app/current/node_modules/sequelize/lib/dialects/mysql/connector-manager.js:125:19)
at createResource (/var/app/current/node_modules/sequelize/node_modules/generic-pool/lib/generic-pool.js:258:13)
at dispense (/var/app/current/node_modules/sequelize/node_modules/generic-pool/lib/generic-pool.js:250:9)
at Object.me.acquire (/var/app/current/node_modules/sequelize/node_modules/generic-pool/lib/generic-pool.js:316:5)
at module.exports.enqueue (/var/app/current/node_modules/sequelize/lib/dialects/mysql/connector-manager.js:320:19)
3) TypeError: Uncaught, unspecified "error" event.
at TypeError (<anonymous>)
at EventEmitter.emit (events.js:74:15)
at Handshake._callback (/var/app/current/node_modules/sequelize/lib/dialects/mysql/connector-manager.js:286:19)
at Handshake.Sequence.end (/var/app/current/node_modules/mysql/lib/protocol/sequences/Sequence.js:75:24)
at Protocol.handleNetworkError (/var/app/current/node_modules/mysql/lib/protocol/Protocol.js:238:14)
at Connection._handleNetworkError (/var/app/current/node_modules/mysql/lib/Connection.js:155:18)
at Socket.EventEmitter.emit (events.js:117:20)
at net.js:830:16
at process._tickDomainCallback (node.js:459:13)
知道如何解决这些问题吗?
在此处发布之前,我也在 github 上发布了类似的问题,但我得到的答案令人不满意,这是亚马逊的问题,许多人都面临着这个问题。
那么大家有什么关于这个问题的建议或解决方案吗?
【问题讨论】:
-
您能否再描述一下您的部署?节点应用程序是否在 linux 上运行? mysql 服务器是否与节点应用程序位于同一 VM 上?如果不是,它是通过不可路由的本地 IP 地址还是公共 IP 地址寻址的?它是否部署在亚马逊 RDS 实例上?您是否修改了节点应用程序 VM 上的 DNS 设置?
-
是节点应用在linux上运行,而mys sql server不在同一个VM上,它部署在amazon RDS实例上。
标签: node.js amazon-ec2 amazon sequelize.js node-mysql