一个惊群问题的处理

在一个 side project 里遇到这样一个问题:后台要处理客户端对千万级远程数据集的查询,而上游接口限速严重。为了避免频繁撞 429,尝试全量拉取为本地缓存同时作为本地主库用于索引。但部分数据会随机更新,需要按 TTL 回源刷新。

关键在于,一次 dry run 导入的数据时间分布很集中,导致后续 TTL 也集中到期,形成批量回源再次撞限流。这是典型的惊群,但它不是多 worker 监听 socket 阻塞 accept 那种内核唤醒型惊群,而是过期时间对齐导致的回源惊群。

Read more
Alti-2高度表COM通信协议逆向分析记录

Alti-2高度表COM通信协议逆向分析记录

这几天世界范围内的Alti-2高度表出现故障,时间在2025-08-01后的跳伞记录无法从Logbook中访问,菜单中View点下去会卡一下然后回退到该日期前的最后一跳,按官方邮件的说法是不会丢数据,但要等固件更新。其实这个表是支持通过电脑导出跳伞数据的,想起来之前插入电脑充电,会创建设备,拿出来逆一下协议看看,万一官方没修好,也能自己尝试把后面的跳伞记录dump出来。

Read more
原生安卓WiFi信号去叹号去叉5.0-Android P

原生安卓WiFi信号去叹号去叉5.0-Android P

Captive Portal是安卓5引入的一种检测网络是否正常连接的机制,设计得非常有创意,通过HTTP返回的状态码是否是204来判断是否成功,如果访问得到了200带网页数据,那你就可能处在一个需要登录验证才能上网的环境里,比如说校园网,再比如说一些酒店提供的客户才能免费使用的WiFi(其实是通过DNS劫持实现的),如果连接超时(根本就连接不上)就在WiFi图标和信号图标上加一个标志,安卓5和6是叹号,安卓7改成一个叉了。

所以根本原因是谷歌默认设置了自家的验证服务,在中国大陆原生网络下无法访问。

Read more