回调数据丢了?

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

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

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

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

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

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

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

相关推荐
可乐鸡翅yeah_几秒前
新手梳理:M3U8 线上问题,哪些是前端锅,哪些是后端锅
前端·ios·音视频·实时音视频·m3u8·音视频在线播放
Flynt2 分钟前
Linear 用 1000 个 PR 换掉 styled-components,我写了 200 个按钮,把这笔账复现了一遍
前端·css·preact
2301_808414387 分钟前
Linux中动静态库的理解
linux·运维·服务器
分布式存储与RustFS32 分钟前
模型 checkpoint 放对象存储:分片上传、断点续传与残留清理
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
JavaGuide1 小时前
NVIDIA 又开源了!这次给 AI Agent 加上权限管控
前端·后端
excel1 小时前
prisma 如何处理数据库竞态
前端·数据库·后端
一条破秋裤2 小时前
Linux 线程创建:pthread_create 与基本回收
java·linux·运维
可涵不会debug2 小时前
第一次学 LangGraph:用一个快递案例搞懂 State、Node、Edge 和 compile
服务器·数据库·mysql
莪_幻尘3 小时前
Skill 体检:30 个 Skill 全凭感觉?体检器先自曝了 8 个“假 0 分
前端·人工智能·llm
风骏时光牛马3 小时前
AI模型综合能力评测:性能、指令遵循与多场景实测对比
前端