日常Bug排查-Nginx重复请求?】的更多相关文章

日常Bug排查-Nginx重复请求? 前言 日常Bug排查系列都是一些简单Bug排查,笔者将在这里介绍一些排查Bug的简单技巧,其中不乏一些看起来很低级但很容易犯的问题. 问题现场 有一天运维突然找到我,要我协助排查一个问题.业务开发怀疑Nginx会重复相同的请求,就感觉Nginx自己重试了一样.而PE给我看了下他们的配置,并没有配置任何重试. 第一感觉 我第一感觉就是应该不是Nginx的问题.但是开发怎么得出Nginx重试这个结论的呢? 跟随业务开发思路 于是笔者翻了下他们的邮件,他们是通过P…
日常Bug排查-消息不消费 前言 日常Bug排查系列都是一些简单Bug排查,笔者将在这里介绍一些排查Bug的简单技巧,同时顺便积累素材_. Bug现场 某天下午,在笔者研究某个问题正high的时候.开发突然找到笔者,线上某个系统突然消费不了queue了.Queue不消费也算是日常问题了.淡定的先把流量切到另一个机房,让问题先恢复再说. 消息累积 然后就是看不消费的queue到哪去了,打开mq(消息中间件)控制台,全部累积到mq上了. 同时开发对笔者反映,只有这个queueu积累了,其它queue…
日常Bug排查-系统失去响应-Redis使用不当 前言 日常Bug排查系列都是一些简单Bug排查,笔者将在这里介绍一些排查Bug的简单技巧,同时顺便积累素材_. Bug现场 开发反应线上系统出现失去响应的现象,收到业务告警已经频繁MarkAndSweep(Full GC)告警.于是找到笔者进行排查. 看基础监控 首先呢,当然是看我们的监控了,找到对应失去响应的系统的ip,看下我们的基础监控. 机器内存持续上升.因为我们是java系统,堆的大小一开始已经设置了最大值. --XX:Xms2g -Xm…
日常Bug排查-抛异常不回滚 前言 日常Bug排查系列都是一些简单Bug排查,笔者将在这里介绍一些排查Bug的简单技巧,同时顺便积累素材_. Bug现场 最近有人反映java应用操作数据库的时候,抛异常不回滚.这还了得,不过笔者笃定肯定是用法的锅,不然就全乱套了.所以笔者去Review他的代码. 代码片段 @Transacion(value="x") public void s1() throw MyException{ update(1); throwBusinessExceptio…
在ngx_http_process_request_line函数中,解析完请求行之后,如果请求行的uri里面包含了域名部分,则将其保持在请求结构的headers_in成员的server字段,headers_in用来保存所有请求头,它的类型为ngx_http_headers_in_t: <span style="font-size: 18px; ">typedef struct { ngx_list_t                        headers; ngx_…
一.nginx后端负载服务器的API在获取客户端IP时始终只能获取nginx的代理服务器IP,排查nginx配置如下 upstream sms-resp { server ; server ; } server { listen ; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { #root html; #index index.html index.htm;…
  通常我们可以在前端通过防抖和节流来解决短时间内请求重复提交的问题,如果因网络问题.Nginx重试机制.微服务Feign重试机制或者用户故意绕过前端防抖和节流设置,直接频繁发起请求,都会导致系统防重请求失败,甚至导致后台产生多条重复记录,此时我们需要考虑在后台增加防重设置.   考虑到微服务分布式的场景,这里通过使用Redisson分布式锁+自定义注解+AOP的方式来实现后台防止重复请求的功能,基本实现思路:通过在需要防重的接口添加自定义防重注解,设置防重参数,通过AOP拦截请求参数,根据注解…
问题控件:datagrid.combobox.所有能设置url属性的控件 问题版本:1.4.4.1.4.5(之前的版本没测) 问题如图: 重复请求2次,错误代码如图: 错误问题分析:html加载的时候回请求url加载数据,紧接着js执行代码的时候,又给datagrid绑定事件的时候,datagrid又会去请求一次数据源,导致请求2次的问题: 解决方法:html代码不要设置url属性,在绑定datagrid事件的时候,设置url属性值,就可以解决此问题: 解决代码如图: 其他控件解决方法相同. 当…
1.配置拦截器 spring-mvc.xml <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**/*"/> <mvc:exclude-mapping path="/css/**"/> <mvc:exclude-mapping path="/images/**"/> <mvc:exclude-mapping path…
一.推荐关注模块(一个控制器控制两个tableView) -- 数据的显示 刚开始加载数据值得注意的有以下几点 导航控制器会自动调整scrollView的contentInset,最好是取消系统的设置,自己设置contentInset 请求数据的时候用到了MJExtension来字典转模型,切记一定看好用模型类调用mj_**方法.自己当时手贱敲错了,系统总报错某某方法找不到.解决错误搞了很久. 请求完数据界面没有数据怎么办? -- 自己又忘了刷新表格啦!! 二.解决数据重复请求的问题 如上图:用…