【问题标题】:network connectivity issues with Vultr and Google Cloud servicesVultr 和 Google Cloud 服务的网络连接问题
【发布时间】:2021-07-22 23:46:57
【问题描述】:

全部,

一段时间以来,我一直在努力寻找原因,即我与谷歌云翻译的连接存在间歇性网络问题。首先,我使用了 googleTranslate v2,并且在检测界面上遇到超时错误。然后我切换到 v3,它也似乎出现了网络超时错误。

我在 Windows 笔记本电脑上开发,代码运行良好,没有超时。 (在我的家庭网络中)。

const testTranslate = await googleTranslate(messageText, cEnglish).catch(err => { console.error(err); return (languages); });

当我将代码移动到 Vultr VM 并运行相同的代码时,它会间歇性地超时:

at Object.callErrorFromStatus (/root/bots/node_modules/@grpc/grpc-js/build/src/call.js:31:26)
at Object.onReceiveStatus (/root/node-Modules/@grpc/grpc-js/build/src/client.js:176:52)
at Object.onReceiveStatus (/root/node-Modules/@grpc/grpc-js/build/src/client-interceptors.js:334:141)
at Object.onReceiveStatus (/root/node-Modules/@grpc/grpc-js/build/src/client-interceptors.js:297:181)
at /root/bots/node_modules/@grpc/grpc-js/build/src/call-stream.js:130:78
at processTicksAndRejections (internal/process/task_queues.js:79:11) {
code: 14,
details: 'No connection established',
metadata: Metadata { internalRepr: Map {}, options: {} }
}

正在寻找关于为什么我的 VM(是的,也存在不同的操作系统和 lib 版本)可能会失败的调试想法...

TIA!

【问题讨论】:

  • 我不知道答案,但我的下一个调试步骤是从两个位置对 API 端点运行 mtr 并查看结果。例如:mtr translate.googleapis.com

标签: javascript node.js networking google-cloud-platform google-translate


【解决方案1】:

对于任何可能遇到此问题的人....我永远无法解决此问题。我的最终解决方案的一部分是实施重试机制,以处理网络连接中断。这些都是生活中的事实,将其添加到代码中只是为了处理健壮性并且是必需的。

但是,这并没有解决我的问题。我的 vultr 实例和谷歌仍然存在某种持续的网络连接问题。我对调试它不感兴趣,因为它很难重现,而且我不能放弃我的日常工作来调试它。我找到了一个相当于 vultr 的谷歌云实例(我选择了 vultr,因为它是我能找到的最便宜的计算节点)....而 gcp 现在同样便宜。

我搬到那里,网络问题消失了....代码没有改变。

【讨论】:

    猜你喜欢
    • 2018-08-14
    • 1970-01-01
    • 1970-01-01
    • 2018-02-16
    • 1970-01-01
    • 2016-02-06
    • 1970-01-01
    • 2012-12-20
    • 2014-03-13
    相关资源
    最近更新 更多