我将expressjs
用于服务器。用户点击了一个代理服务,而该代理服务又打了我的。代理服务告诉我我的给出了503。在这种情况下,我真的不能记录它的发生,因为它似乎表明只是错误了。我所知道的是,该其他服务收到503。我在代码中的任何地方都没有进行设置。我在搜索时找不到任何东西,如果它不是代理服务器,我将不知道503正在发生。在成千上万的请求中,这种情况发生了不到100次。
我不希望有人得到直接的答案,但是,任何线索将不胜感激,任何获得答案的线索都将被标记为答案,并附上我的评论。希望有一些评论可以帮助我为这个问题提供更好的信息!
答案 0 :(得分:1)
该解决方案与Envoy&Node有关。一位同事建议服务器超时,然后我发现https://github.com/envoyproxy/envoy/issues/1979。
就我而言,我添加了以下内容:AWSMobileClient.default().signIn(username: username, password: password) { (signInResult, error) in
self.getAWSToken()
}
您可以在https://nodejs.org/docs/latest-v10.x/api/http.html#http_server_keepalivetimeout上查看文档。
我不在基础架构方面工作,所以我花了一点时间才意识到这是与实施Envoy的团队中的人员有关的。
当Envoy收到numpy
时,它会发回503
答案 1 :(得分:0)
好吧,想到的一件事是服务器过载。如果您要检查的路由正在执行同步任务,并且一次发送大量请求,则可能最终会阻塞服务器。 Express建议您拥有的每个路由处理程序都应该异步,这样即使发生许多请求,服务器也不会被阻塞。
我不知道那是不是你的情况,但是值得一查。