IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

标签:Hot Upgrade

共 1 篇相关文章

IT 累计浏览 1,717

Erlang supervisor的dynamic行为分析

这篇讲的是 Erlang/OTP 中 supervisor 的 dynamic(动态)行为策略。文章从一个实际的线上问题出发:当用 `simple_one_for_one` 或其他动态策略管理子进程时,面对子进程频繁或异常重启,supervisor 会表现出怎样的行为逻辑?作者深入分析了核心机制,比如它如何通过一个简单的重启计数器(在 `MaxR` 和 `MaxT` 时间窗口内)来判定“崩溃频率过高”,并最终选择自己重启。文章详细对比了不同重启策略(`one_for_one`, `rest_for_one`, `one_for_all`)在连续崩溃场景下的具体差异,并解释了参数调优时的权衡点。更巧妙的是,它揭示了这种基于计数器的“崩溃检测”机制背后的设计哲学——简单、确定且高效,避免了复杂的定时器或状态跟踪。对于正在用 Erlang 构建高可用、容错系统的开发者来说,理解这些动态行为的细微之处,是合理配置监督树、避免“重启风暴”并让系统真正健壮的关键一步。