回调数据丢了?

问题是这样,我们对接某一个大平台,在平台上配置了我们的回调地址。最近几个月大概1个月一次,发现会有些回调没有收到。有次数据丢失的时间是和他们官网大版本更新发布的时间点吻合的。但是发布内容并没有和这个回调有直接的相关性。

会是平台的问题吗?从自身上还有没有别的突破口呢?

我们作为应用程序,上层用的是nginx代理。有个参数起到了至关重要的作用:proxy_ignore_client_abort

proxy_ignore_client_abort 是 Nginx 的一个指令,用于控制 Nginx 在客户端连接意外关闭时的行为。默认情况下,当客户端在请求过程中突然断开连接,Nginx 会立即终止与后端服务器的连接,这可能会导致后端服务器的资源浪费,尤其是在处理一些需要长时间处理的请求时。

通过设置 proxy_ignore_client_abort on;,Nginx 将忽略客户端的断开行为,继续将请求发送到后端服务器,直到后端服务器处理完成。这样,即使客户端断开连接,后端服务器也能继续完成请求处理。

之前我们使用默认配置,这会造成客户端也就是我们对接的平台意外关闭时,回调请求没有发到我们应用端。对于这种回调类型的请求,更合理的设置方式是设置 proxy_ignore_client_abort on;

而默认方式更适合那种客户端请求要拿到处理结果,如果客户端不拿到处理结果没有意义的,比如:支付、下单、自己作为客户端请求下游,但是并不是适合这种回调请求。

相关推荐
LawrenceLan2 分钟前
Flutter 零基础入门(二十一):Container、Padding、Margin 与装饰
开发语言·前端·flutter·dart
有时.不昰沉默12 分钟前
ubuntu 20.04 启动直接进入 tty1,而非 图形界面
linux·运维·ubuntu·tty1
济61716 分钟前
linux 系统移植(第七期)----U-Boot 图形化配置--添加自定义菜单-- Ubuntu20.04
linux·运维·服务器
967719 分钟前
初始web server的认识1---webserver的用途和工作流程
前端
松涛和鸣20 分钟前
DAY56 ARM Cortex-A Bare Metal
linux·服务器·c语言·开发语言·arm开发·数据库
星陨7722 分钟前
OpenStack私有云平台API接口练习
linux·运维·网络·openstack
YongCheng_Liang23 分钟前
Docker 核心概念与价值详解:从理论到实战安装指南
运维·docker·容器
叫我:松哥29 分钟前
基于神经网络算法的多模态内容分析系统,采用Flask + Bootstrap + ECharts + LSTM-CNN + 注意力机制
前端·神经网络·算法·机器学习·flask·bootstrap·echarts
蒜香拿铁32 分钟前
【第五章】python判断语句if
java·服务器·python
vx_bisheyuange36 分钟前
基于SpringBoot的知识竞赛系统
大数据·前端·人工智能·spring boot·毕业设计