博客文章

2026年9月19日

微服务通信别只看性能:REST 与 gRPC 的 6 个选型判断和一次 502 故障复盘

不少选型表会把 REST 写成 HTTP/1.1、JSON、不支持流式传输,再把 gRPC 写成 HTTP/2、Protobuf、天然高性能。这个对比方便记忆,但不够严谨。REST 是一种架构风格,通常使用 HTTP 和 JSON,但并不限定只能使用 HTTP/1.1,也不强制 JSON。RE...

作者:悠悠
2026年9月18日

别把 Galera 当普通主从!3 节点 MySQL 多主集群部署与故障恢复实战

凌晨两点,数据库主节点突然掉线,应用连接池开始疯狂报错,监控群里一排红色告警。如果用的是传统 MySQL 主从架构,这时候通常要判断从库延迟、确认数据位点、提升从库、修改连接地址。动作看起来不多,真到了生产现场,手一抖就可能把“数据库故障”升级成“数据故障”。我碰到过类似情况,主库已经不可用,...

作者:悠悠
2026年9月16日

生产环境Kafka消息疯狂积压,我排查了一整夜,总结出这套保命流程

消息积压到底意味着什么先说个很多人容易搞混的事情。Kafka消息积压,表面上看是消费者消费不过来了,但实际情况远比这个复杂。积压的本质就是:生产速度 > 消费速度,或者消费者压根就不工作了。听起来是废话对吧?但你仔细想想,导致这个结果的原因可能有十几种。生产端突然流量暴增、消费端代码有B...

作者:悠悠
2026年9月15日

一个HTTP请求发到服务器后,到底经历了什么?把解析过程扒得明明白白

其实这个问题挺有意思的。我们天天写接口、配Nginx、调Tomcat,但真正把一个HTTP请求从字节流一路拆解到你代码里拿到的那个request对象,中间到底发生了什么,很多人还真说不清。有时候你觉得"不就是发个请求嘛",可真让你说清楚服务端拿到那一坨字节之后干了啥,可能就卡壳了。今天我就把这...

作者:悠悠
2026年9月13日

服务器上一条命令让我懵了半天:xdg-open到底是个啥神仙玩意

那天我在测试环境折腾一个自动化脚本,脚本里有一行是 xdg-open report.html,结果跑起来直接报错,说找不到显示环境,一堆乱七八糟的报错刷屏。我当时就纳闷了,这命令我压根没写过啊,是同事留下来的历史遗产。查了半天才明白,这东西其实是个很有意思的小工具,平时你在图形界面里点开一个文...

作者:悠悠