SpringBoot请求报504异常简单明了的叙述一下

小编今天偶然遇到了504异常,凭经验来讲,知道此异常属于服务器异常,但具体细节原因也没有深入去记一下,今天在此简单说一下。

一般来讲,Java开发的异常比较多的就是404,500等,而一般50几基本都是服务器或者服务器的Nginx异常。

504异常是指服务器无法及时响应客户端请求而导致的异常。

而异常的原因在应用开发中是多种多样的。小编简单说几种,如有不足支持欢迎补充。

1.Java在请求大数据的时候,由于数据量大,在请求中对数据操作,导致请求会很长时间才进行返回,导致超时错误,这个地方有两层解决方案,第一层,优化数据操作业务代码,减少循环,尽量减少一次性查询全部数据,采用分页,明显来说,像一次性查询几十万条几百万条数据,速度肯定会很慢,而如果对这种大量数据做操作,像循环,如果是静态数据循环速度会比较快,但是做了像请求第三方接口或请求数据库或其他耗时的操作,就会增加接口的返回时间。第二层:增加程序的响应时间,像springboot:

spring.mvc.async.request-timeout=60000
spring.mvc.read-timeout=60000

2.Java 的请求到程序中,因为一些莫名的原因死掉,导致请求无法返回也会导致504异常。

3.通过查询日志,请求很有可能没进入程序就挂掉了,很大的可能是程序的端口在服务器未开放,在服务器开放程序所需求的端口,客户端的Java请求也就能顺利访问了。

4.服务器资源不足也会导致504错误,资源不足是指服务器的运行内存不足,cpu不够用了,导致服务器无法及时处理请求,这里可以通过增加服务器的硬件资源,就可以解决。再一个服务器负载过高也是504的重要原因之一,可以通过负载均衡器,将请求分发到多个服务器上,提高整体的处理能力,或者以异步的形式来处理请求,来提高请求的可用性。

5.504还有一个原因之一是网络通信异常,网络通信不顺畅,也可能导致客户端收到504异常,这里的网络异常,很有可能是因为在请求处理中,请求了第三方接口导致数据处理一直处于等待中,等等。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吾疾唯君医

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值