Gateway Timeout 504问题复盘

一、问题背景

运维人员去现场安装部署软件时,登录接口出现这样的错误信息,即Gateway Timeout 504。于是我远程协助其排查问题的原因与解决该问题。

二、出现Gateway Timeout 504可能的原因有哪些

  • 网关超时,网关是所有微服务的入口,对应的微服务可能出现了问题,如没有启动成功、代理失败等;
  • 网关代理对应的微服务所处环境问题如网络问题、设备问题等;
  • DNS服务器解析有问题;
  • 浏览器或应用程序中的代理服务器设置有问题。

三、排查问题的过程

  • (1)重启所有应用微服务(环境还原,初始化状态);
  • (2)改Nginx配置(超时配置);
  • (3)查看Nacos相关(服务注册列表、配置信息等);
  • (4)单一环境试验(不集群,先保证单一环境无问题)。

四、问题原因

通过上面排查问题的流程,最终确定了问题的原因:

  • (1)由于客户服务器环境严格的安全机制,导致微服务集群受阻,通过网关请求到对应的微服务,默认的负载均衡机制,受到了制约;
  • (2)数据库表受到了客户数据库环境的制约(表字段总长度不能超出特定的值)。

五、解决办法

  • 针对问题原因(1),与客户沟通,确保微服务集群环境所涉及的服务器是通的,相应的端口与ip地址放行;
  • 针对问题原因(2),修改数据库表相应的字段长度,一些非必要字段缩小长度,确保库表长度总体小于且等于客户数据库表的特定值。

六、提炼的方法论

核心一句话,“遇到问题不要慌,所有的问题前人均可能遇到过,站在巨人的肩上,具体问题具体分析,这样一来,任何问题均能被解决。”。

文章目录
  1. 一、问题背景
  2. 二、出现Gateway Timeout 504可能的原因有哪些
  3. 三、排查问题的过程
  4. 四、问题原因
  5. 五、解决办法
  6. 六、提炼的方法论