程序崩溃别只重启:用 Core Dump 与 GDB 保全 Linux 现场

Linux Core Dump 崩溃诊断

线上进程收到 SIGSEGV 后退出,日志往往只留下“Segmentation fault”。立即重启能恢复服务,却也抹掉了最有价值的寄存器、调用栈与线程状态。Core Dump 是进程崩溃时的内存快照;把它与原始可执行文件、调试符号配对,就能从“它挂了”推进到“哪个线程、哪一行、哪个参数导致了崩溃”。

Read More

API 报错别只返回一句话:设计稳定、可诊断的错误响应

客户端、API 网关与服务共同处理错误响应

接口成功时,调用方关心数据;接口失败时,它还要决定提示用户、修正参数、重新登录还是稍后重试。如果服务有时返回字符串、有时返回 HTML、有时把所有失败都塞进 200,每个消费者只能靠猜。错误响应同样是公开契约,应当稳定、可解析,也能帮助值班人员快速定位请求。

Read More

分布式定时任务别重复跑:租约、围栏令牌与幂等收口

分布式定时任务协调示意

单机上的 cron 很直接:时间到了就执行。但服务扩成多个副本后,每个实例都会在同一分钟醒来;日报被发三次、账单被结算三次,往往不是“锁没加好”,而是没有先界定谁有资格执行、资格失效后旧执行者还能不能写入。可靠的方案要同时处理抢占、失联和重复副作用。

Read More

别让正则拖垮服务:识别 ReDoS 与输入防线

正则表达式的安全审查

正则表达式很适合做格式校验和文本提取,却也可能把一次普通请求放大成数秒甚至更久的 CPU 计算。问题通常不在“用了正则”,而在回溯型引擎遇到含糊模式和恶意输入时,必须反复尝试大量失败路径。这类正则拒绝服务(ReDoS)值得像数据库查询一样被审查和限额。

Read More