关于ws连接coinex偶尔会出现几分钟不更新数据的问题 - Charlie

news/2025/10/1 17:11:53/文章来源:https://www.cnblogs.com/charlie-pang/p/19122575

一、环境

1、语言:go

二、服务概况

image

三、现象

lark告警群中偶尔会出现coinex的btc和eth同时告警,但是他们的最后一次告警时间不相同,代码的告警逻辑是:每隔30s定时从数据库中查询redis中btc和eth的数据updateTime字段的时间,updateTime+30秒与当前时间比较如果大于则表示30秒内数据未更新,发送lark告警。告警信息如下:
🚨 数据监控告警 🚨

🖥️ 服务器IP: xxxxxx
📊 交易所: coinex
💰 币对: BTCUSDT
📡 数据源: websocket
⚠️ 告警类型: timeout
🔴 告警级别: warning
📝 告警消息: WebSocket数据源超时,已超过2m0s未更新
🔑 Redis Key: MD_COINEX_SPOT_VOLUME_BTCUSDT
⏰ 告警时间: 2025-09-30 07:52:55
🕐 最后更新: 2025-09-30 07:47:41
👥 告警群组: 热门币对监控

==================================================
请及时检查数据源状态!

🚨 数据监控告警 🚨

🖥️ 服务器IP: xxxx
📊 交易所: coinex
💰 币对: ETHUSDT
📡 数据源: websocket
⚠️ 告警类型: timeout
🔴 告警级别: warning
📝 告警消息: WebSocket数据源超时,已超过2m0s未更新
🔑 Redis Key: MD_COINEX_SPOT_VOLUME_ETHUSDT
⏰ 告警时间: 2025-09-30 07:52:55
🕐 最后更新: 2025-09-30 07:45:52
👥 告警群组: 热门币对监控

==================================================
请及时检查数据源状态!

四、排查问题

1、首先通过在线websocket网站连接coinex的ws地址,确认告警是否真的是coinex未推送数据导致lark告警的。但是由于该问题是偶尔出现,一直未能出现在线websocke和lark同时告警的情况,因此作罢。
2、怀疑是代码的问题:用ai帮我检查代码的逻辑,ai告诉我可能是redis的pipeline导致数据每次存储时不在同一个slot中,可能一批数据导致跨节点存储时部分数据失败导致的,我开始调整这块的代码,突然想到如果真是这样的话,为什么只有coinex的这两个币对有问题,币安、gateio、bybit都没有出现过这种问题,感觉问题不在这边,因此作罢。
3、排查日志,为什么最后才是排查日志呢。因为之前看到过在xt、bitmart交易所出现过btc、eth服务端隔30秒以上不推送数据的情况,因此一直觉得是交易所那边没有btc的交易导致的数据没有及时更新。image
直到在测试环境看到每次lark告警都是websocke断开重连之后才解开真实的bug原因,下面是websocket重连之后,服务端推送的数据:

{"method": "deals.update", "params": ["BTCUSDT", [{"id": 5844394418, "time": 1759125875.607549, "type": "sell", "price": "111674", "amount": "0.00011228"}, {"id": 5844394417, "time": 1759125875.607475, "type": "sell", "price": "111675", "amount": "0.00011226"}, {"id": 5844394416, "time": 1759125875.607362, "type": "sell", "price": "111676", "amount": "0.00003306"}, {"id": 5844391212, "time": 1759125813.756979, "type": "sell", "price": "111700", "amount": "0.01348103"}, {"id": 5844391046, "time": 1759125811.868881, "type": "buy", "price": "111701", "amount": "0.02107873"}, {"id": 5844390630, "time": 1759125810.063611, "type": "buy", "price": "111701", "amount": "0.01263460"}, {"id": 5844390492, "time": 1759125809.638278, "type": "sell", "price": "111700", "amount": "0.00001294"}, {"id": 5844390491, "time": 1759125809.638175, "type": "sell", "price": "111700", "amount": "0.00036332"}, {"id": 5844390490, "time": 1759125809.6381171, "type": "sell", "price": "111705", "amount": "0.00025242"}, {"id": 5844390489, "time": 1759125809.638052, "type": "sell", "price": "111705", "amount": "0.00010416"}, {"id": 5844390488, "time": 1759125809.6379759, "type": "sell", "price": "111705", "amount": "0.00010416"}, {"id": 5844390487, "time": 1759125809.6378551, "type": "sell", "price": "111705", "amount": "0.00224491"}, {"id": 5844390187, "time": 1759125808.106873, "type": "sell", "price": "111705", "amount": "0.00005533"}, {"id": 5844390143, "time": 1759125807.7271011, "type": "sell", "price": "111705", "amount": "0.00014024"}, {"id": 5844389894, "time": 1759125806.05726, "type": "buy", "price": "111706", "amount": "0.00117328"}, {"id": 5844387862, "time": 1759125753.638063, "type": "buy", "price": "111715", "amount": "0.00603992"}, {"id": 5844387794, "time": 1759125752.538177, "type": "buy", "price": "111715", "amount": "0.00860314"}, {"id": 5844387591, "time": 1759125751.3388391, "type": "buy", "price": "111715", "amount": "0.01099020"}]], "id": null
}

第一条数据的时间是2025-09-29 14:04:35,最后一条数据的时间是2025-09-29 14:02:31,而我在建立连接之后循环获取数据,就会把最后一条数据也存到redis中,那么就会出现假如刚好时间最早的一条数据存到redis中,lark开始检查数据更新情况,就会发出告警。在线上重点排查ws重连和告警的日志。和我的猜想相吻合。

五、解决问题

ws每次建立连接之后只获取第一条数据。

六、总结

一定要仔细查看日志,不要盲目的对代码进行修改。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/924051.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

dz网站后台好的网页制作公司有哪些

智慧公安作为公安信息化开展到高级阶段的一种警务形态,“智慧公安”主要采用物联网、云计算、无线通讯、智能动态感知分析等新一代信息技术,将公安工作IT根底设备与物理设备、人际环境等高度交融,以提供智能化公安决策与效劳。智慧警务大数据云平台开发情报研判系统…

网站建设目标和功能介绍潍坊网站建设方案

华为北向网管NCE开发教程(1)闭坑选接口协议 华为北向网管NCE开发教程(2)REST接口开发 华为北向网管NCE开发教程(3)CORBA协议开发 本文一是记录自己开发华为北向网管遇到的坑,二是给需要的人&…

购物网站的前台功能网页设计教程书籍推荐

安装 VirtualBox 地址:https://www.virtualbox.org/wiki/Downloads 版本: 6.1和7.0+版本都可以 安装: windows上安装需要admin权限,右键菜单选中 “Run as administrator” 安装 CentOS 6.10 地址:https://vault.centos.org/6.10/isos/x86_64/ 版本: 如果不需要GUI,选择…

【C#】以 BlockingCollection 为核心的多相机 YOLO 检测任务处理框架 - 指南

【C#】以 BlockingCollection 为核心的多相机 YOLO 检测任务处理框架 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-fami…

上手 cpp-httplib:轻量级 C++ HTTP 库的安装与实战指南 - 教程

上手 cpp-httplib:轻量级 C++ HTTP 库的安装与实战指南 - 教程2025-10-01 17:04 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !impo…

CAD安装Error 1402权限问题解决

问题描述 由于历史版本卸载不干净,在安装CAD过程中报错 1402,具体如下: Error 1402 Could not open key:UNKNOWN\Components\BCC6186334A64285641057ABAF4A6…Verify that you have sufficient access to that key,…

题解:P9868 [NOIP2023] 词典

原题传送门。 显然,如果我们想要把一个字符串字典序尽量小,我们把这个字符串中的字符从小到大排序就行了;反过来就是把字符串中的字符从大到小排序就行了。 我们可以暴力地对于每个字符串排序,然后对于每一个字符串…

304、渭城曲

304、渭城曲304、渭城曲 唐●王维 渭城朝雨浥轻尘,客舍青青柳色新。 劝君更尽一杯酒,西出阳关无故人。【现代诗意译】 清晨的渭城 下起了一场春雨 沾湿了路边的轻尘 旅店周围 青青柳条越发清新老朋友 再喝一杯饯别酒…

AtCoder Beginner Contest 425

AtCoder Beginner Contest 425 A ~ G 题解A,B H₂O题。 A 题直接模拟,记得 \(-1^x\) 的性质。 B 题构造题,每次往空格里填最小的可用数字即可。 C 这道题就相当于有一个数字圆环,每次求其中的一段区间的和。、 嗯?…

实用指南:MySQL InnoDB表压缩:性能优化全解析

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

采集网站开发网站页面设计和结构的技巧

一、 开始的开始——调研、还是调研、一直在路上…… 在只有关于疫情给老年人的带来的问题大方向下,我去到街上随机的拉老年人进行调研。这是我第一次如此频繁的跟陌生老年人沟通。此期间,跟他们的沟通中我发现除了口音上的差异,还有更多的是…

AT_agc052_b [AGC052B] Tree Edges XOR

考虑边权转点权,让边权满足其为相邻点权的异或和,操作变成交换两个点的点权。 随便钦定一个为根,设 d i ​ 为初始时 i 的点权,f i ​ 是 i 期望得到为多少。如果存在 d,f,满足它们是相同的集合,就有解。 注意到…

pc开奖网站开发绵阳网站建设维护

1. 安装软件准备1.1. 软件准备1.zabbix-2.4.8.tar.gz zabbix-3.0.31.tar.gz下载地址:https://www.zabbix.com/download2.php5.4.16.tar.gz下载地址:https://www.php.net/downloads.php1.2. 注意事项安装过程路径、密码尽量不要出现中文、特殊字符、空格、…

详细介绍:C语言指针进阶(进阶)

详细介绍:C语言指针进阶(进阶)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&q…

背单词 纯英文 2025年10月

2025-10-02coronation, horrific, pal, 2025-10-01quack, dais, notation, replicate, despoil,bizarre, differentiate, banister, intelligible, incest,obligatory, deviate, recourse, delineate, haversack

「Diary Solution Set」October 2025 在凉雨停歇的那天

2025.10.1 国庆节日常被作业包围。将世界最后的空白刻印在斑驳心海 而我等蜉蝣只得抒发不足日的无奈 无名歌者哼唱着积雨云为之落泪的歌在人海发现 ARC 原来有这么多优质计数。

潍坊网站建设小程序公司企业邮箱怎么登陆

转自:http://blog.csdn.net/warrior_zhang/article/details/41453327 机器学习的常用方法,主要分为有监督学习(supervised learning)和无监督学习(unsupervised learning)。 监督学习,就是人们常说的分类,通过已有的训练样本&am…

macOS Tahoe All In One

macOS Tahoe All In OnemacOS Tahoe All In One全新 Liquid Glass 设计,看着亮丽,感觉舒心,一用好熟悉。 连续互通再进化,现已连通 iPhone 上的电话 App 和实时活动功能。 直接用“聚焦”执行数百种操作,敲敲键盘…

关于一学一做的短视频网站好wordpress聚合广告平台

一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作面向对象中的一些概念下表列出了 面向对象 编程中的一些概念名词说明对象对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有…