node.js - 从 lambda 函数到 VPC 中的 EC2 实例的 Api 调用在 nodejs 中超时(有时它工作正常)
问题描述
我们在 VPC 下的 EC2 上运行服务器。我们从一个可以访问 VPC 的 Lambda 函数中使用它的 API。
由于我们的 lambda 函数是从 API 网关(带有 VPC 链接)调用的,所以我们只有 29 秒的窗口。有时 lambda 会成功执行,有时它会超时(请求甚至没有到达 ec2 服务器)。
我们没有在我们的 EC2 服务器中进行任何繁重的处理。从技术上讲,在 EC2 上运行的服务器应在 2 秒内给出响应。我们尝试使用休息客户端(邮递员)运行它,它总是在 2 秒内响应。
我们不确定为什么它会从 Lambda 函数中失败。
我们正在使用 nodeJS 的“请求”模块从 Lambda 进行 API 调用。
我们也在通过 API 网关调用不同的 lambda 函数时观察到相同的行为。
这个问题非常令人困惑,因为有时它会成功执行,而有时它会中断。
我们不确定是它的网络问题还是我们的代码有问题。
这是我们如何使用 API
return new Promise((resolve, reject) => {
request.get({url:url}, function optionalCallback(err, httpResponse, body) {
if (err) {
console.error('failed:'+err);
reject(err);
}
console.log('successful! Server responded with:',body);
resolve(body);
}); });
PS 我们没有在 EC2 中配置任何 SSL 任何帮助都会很重要。谢谢,
解决方案
推荐阅读
- swift - SpriteView 正在返回错误的帧信息
- xml - 使用属性解组 xml 标记
- amazon-web-services - how to send AWS sns notification to specific user?
- java - Java执行一个线程并使其他线程处于等待模式
- botframework - 将 Bot Framework Composer 技能导入 PVA:发布到 PVA 还是发布到 Azure 并导入技能?
- r - 如何链接 proj 以在 CentOS 6 上成功安装 sf 包?
- c# - 当我在 mvc 中移动到下一页时,排序丢失
- javascript - 如何使用 Highcharts 库实现类似的折线图?
- python - 大熊猫中的前向填充日期失败 - Python 3.6
- google-apps-script - Google表格:基于单独表格的源列的数组中的条件格式