回调数据丢了?

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

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

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

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

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

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

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

相关推荐
Rkgua14 小时前
TS中`Function`、`CallableFunction` 和 `NewableFunction`的函数区别
前端
Asize14 小时前
重生之我在 Vibe Coding 时代当程序员:第十一课,JS底层 :变量提升真相
前端·javascript
HYCS14 小时前
用pixi.js实现fabric.js(五):事件系统
前端·javascript·canvas
Momo__14 小时前
Node.js 26 来了:Temporal API 默认启用,Date 终于可以退休了
前端·node.js
雨季mo浅忆14 小时前
记录前端内网开发之新入职篇
前端·内网开发
minji...14 小时前
Linux高级IO(五)epoll 的两种工作模式(LT/ET),多路转接之epoll版本的TCP服务器,对比 select/poll/epoll
linux·运维·服务器·epoll·epoll的工作模式·selectpollepoll·水平触发边缘触发
JP-Destiny14 小时前
docker报错-无法解析 registry-1.docker.io
运维·docker·容器
杨运交14 小时前
[025][Web模块]基于 Spring Boot 的请求日志过滤器设计与实现
前端·spring boot·后端
想你依然心痛14 小时前
HarmonyOS 6(API 23)智能体驱动的沉浸式AR城市地下管网运维中心
运维·ar·harmonyos·智能体
逸Y 仙X14 小时前
文章六:ElasticSearch 集群通信安全权限
java·大数据·服务器·elasticsearch·搜索引擎·全文检索