专栏名称: 开发内功修炼
飞哥有鹅厂、搜狗 10 年多的开发工作经验。通过本号,我把多年中对于性能的一些深度思考分享给大家。
今天看啥  ›  专栏  ›  开发内功修炼

我的服务程序被 SIGPIPE 信号给搞崩了!

开发内功修炼  · 公众号  ·  · 2024-11-21 09:12
    

文章预览

大家好,我是飞哥! 就在前几天,我们在灰度上线时遇到了一个服务程序闪退的问题。最后排查的结果是因为一个小小的网络 SIGPIPE 信号导致的这个严重问题。 今天,我就用一篇文章来介绍下 SIGPIPE 信号是如何发生的、为啥该信号会导致进程的闪退、遇到这种问题该如何解决。 让我们开启今天的内核原理学习之旅! 故障背景 我们对某个核心 Go 服务进行了 Rust 重构。由于源码太多,全部重构又不太现实。所以我们采用的方案是将部分代码用 Rust 重构掉。在服务进程中,Go 和 Rust 通过 cgo 进行通信。 但该新服务在线上遇到了崩溃的问题。而且崩溃还不是因为它自己,而是它依赖的另一个业务进程热升级的时候出现的。只要对该依赖热升级,就会导致该新服务崩溃退出,进而导致线上 SLA 出现较为严重的下降。 好在是灰度阶段,影响不大。当时临时禁 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览