501,502,503,504的区别_412状态码

501,502,503,504的区别_412状态码502badgateway顾名思义网关错误后端服务器tomcat没有起来,应用服务的问题(前提是接入层7层正常的情况下)。应用服务问题一种是应用本身问题;另一种是因为依赖服务问题比如依赖服务RT高,依赖的服务有大的读取(mysql慢查,http等),以至于调用方超过超时read时间;服务集群压力大时,也会出现502超时(502理解为不可响应或响应不过来,其实还是不可响应)。504…

大家好,又见面了,我是你们的朋友全栈君。

502 bad gateway 顾名思义 网关错误 后端服务器tomcat没有起来,应用服务的问题(前提是接入层7层正常的情况下)。

应用服务问题一种是应用本身问题;另一种是因为依赖服务问题比如依赖服务RT高,依赖的服务有大的读取(mysql慢查,http等),以至于调用方超过超时read时间;服务集群压力大时,也会出现502超时(502理解为不可响应或响应不过来,其实还是不可响应)。

504 gateway time-out 顾名思义 网关超时 一般计算机中的超时就是配置错了,此处一般指nginx做反向代理服务器时,所连接的服务器tomcat无响应导致的。

从网络角度,502已经与后端建立了连接,但超时;504与后端连接未建立,超时。

502检查思路:

1、必现502,应用“挂了”

(1)后端机器上检查:

$ ps -ef |grep java #检查进程是否在

$ sudo netstat -lntp |grep PORT #检查端口有没有起来

$curl -I 127.0.0.1:PORT/health #应用健康检查测试下,Your health check path

(2)上面都正常,看下接入层access.log有没有进来。

$ tail -300f access.log |grep xxxx | #grep下你的关键字

$ curl -I 10.10.10.10:80/java_hc #上面都正常情况下,去接入层检查下

2、偶现502

(1)CPU使用率高,QPS增加

考虑有大流量,后端压力导致短暂不可用,考虑临时扩容。

(2)检查应用本身nginx read超时时间配置

    proxy_read_timeout              2s; # vim /opt/nginx/nginx.conf

如果某些正常请求耗时在2s左右,那么会有少量大于2s的请求是502的。可以试着把上面耗时时间调大,看问题是否缓解。优化本身链路请求耗时是根本上的解决办法。

(3)检查接入层nginx read的配置

同(2)

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/125021.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 电气设计心得体会_原理图设计规范

    电气设计心得体会_原理图设计规范本博客将简述中兴通讯股份有限公司在原理图设计中需要注意的一些事项,其中包含了中兴设计开发部积累的大量硬件开发知识和经验,可以作为学习使用。硬件工程师可以学习并掌握检查条目的内容以及对条目的详细说明,学习部门经验。

    2025年9月18日
    5
  • python利用flask_mail、sendgrid发送邮件[通俗易懂]

    python利用flask_mail、sendgrid发送邮件[通俗易懂]在学习Flask,看的书籍是《FlaskWeb开发实战入门、进阶与原理解析》。在学习发送电子邮件这一章节时,遇到一些问题,便写下这一篇文章,记录一下,也希望遇到同样问题的人能够花较少时间在解决问题上。本文包括Flask_Mail发送电子邮件和SendGrid发送电子邮件两部分。Gmail、Outlook、QQ邮箱等这类服务被称为EPA(EmailServiceProvider),只适…

    2025年7月10日
    3
  • MySQL的时间差函数TIMESTAMPDIFF、DATEDIFF的用法「建议收藏」

    MySQL的时间差函数TIMESTAMPDIFF、DATEDIFF的用法「建议收藏」MySQL的时间差函数TIMESTAMPDIFF、DATEDIFF的用法时间差函数TIMESTAMPDIFF、DATEDIFF的用法我们在写sql语句,尤其是存储过程中,会频繁用到对于日期、时间的比较和判断,那么对于这两个时间差比较函数用法做一个举例介绍。datediff函数,返回值是相差的天数,不能定位到小时、分钟和秒。–相差2天selectdatediff(‘2018-03-2209:…

    2022年6月13日
    47
  • sudoers修改_sudoers配置使用

    sudoers修改_sudoers配置使用sudo是linux下常用的允许普通用户使用超级用户权限的工具,允许系统管理员让普通用户执行一些或者全部的root命令,如halt,reboot,su等等。这样不仅减少了root用户的登陆和管理时间,同样也提高了安全性。Sudo不是对shell的一个代替,它是面向每个命令的。它的特性主要有这样几点:§sudo能够限制用户只在某台主机上运行某些命令。§sudo提供了丰富的日志,详细地记录了每个…

    2022年6月20日
    28
  • linux4月11日课笔记[通俗易懂]

    linux4月11日课笔记

    2022年4月2日
    46
  • python 函数嵌套和nonlocal关键字

    python 函数嵌套和nonlocal关键字python函数可以嵌套使用,使用也比较简单,举个栗子:defouter():print("outer")definner():print("inner")inner()outer()##运行结果:outerinnernonlocal关键字:与global关键字有点相似,可以对比着理解。nonlocal关键字只能作用域局…

    2025年9月18日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号