忙go
Java后端
·2025-03-26
day 003今天又遇到了新的问题。 最近几天数据同步批次resttemplate忽然报了413 Request Entity Too Large。排查代码是全量同步7张配置表的数据,一开始以为是最近数据量激增导致的,改了方案分次调用,第一次同步4张,第二次同步3张,等待上线投产后验证。 下午这个批次没跑但其他接口又出现了这个报错,想起最近改了服务调用的机房,本着先恢复应用的前提,还原了之前的请求调用链,问题解决。 后面排查确实是新配置的机房nginx配置不一样,没有配置client_max_body_size,没配置的话这个值默认是1m,当请求报文超过这个值就会报上面错误,而我的报文数确实很大,肯定超过了1m。再看另一机房nginx配置了client_max_body_size为100m,所以还原后请求正常。 以此警示: ①不要因为解决问题随意切换调用链 ②生产上不同机房配置要保持一致,做到真双活 ③同步数据不能粗暴的不带条件删除不带条件插入,保证每时每刻可用需要做增量同步,当然也要考虑业务必要性 ④需要有寻根问底的精神,同事告知我他排查过不是nginx配置引起的,我一开始也看了觉得不是这个原因。后面看部署架构图,调用链如下A-N-N-B,经过两层Nginx,第二层有一个机房NGINX未配置client_max_body_size ⑤重启(还原)是解决大部分问题的首选方法 感悟:生活和工作中不要害怕问题,解决问题是提升最快的方式,
0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
下载 APP