2026-01-01 · 4分钟 [epoll] EP1 为什么需要 epoll? Linux 高性能网络编程入门,从 C10K 问题到 IO 多路复用的演进历程,深入理解 epoll 相比 select 和 poll 的巨大优势 Linux 与网络 # Linux # 网络编程
2024-08-06 · 4分钟 Go 依赖装配:构造失败、资源所有权与逆序回收 把依赖注入放回资源生命周期,验证部分构造失败的回滚、清理错误与幂等关闭,并校正 Wire 的维护状态。 软件设计 # Go # 依赖注入
2023-08-03 · 4分钟 Java Map 的并发边界:复合操作与请求合并 用确定性反例分析可变 key、丢失更新和慢加载,并实现可取消等待、失败可重试的 single-flight。 并发编程 # Java
2023-07-30 · 5分钟 集群运维的失败边界:批次预算、健康门槛与停止条件 把批量 SSH 片段改为显式操作协议,用模拟适配器验证既有故障、超时与后续节点停止。 数据工程 # 运维自动化 # 故障恢复
2023-07-25 · 6分钟 增量数仓:事件版本、迟到数据与可重放发布 从订单更新、跨日修正与删除出发,设计版本投影、幂等账本和原子发布,用故障注入验证可重放性。 数据工程 # 数据一致性 # 增量处理
2023-07-03 · 5分钟 Spark Shuffle:倾斜证据与二阶段聚合的正确性 用十万条可控数据观察热 key,证明拆分聚合保留 sum/count,并区分分区行数、Shuffle 字节与真实性能。 数据工程 # Spark # 性能诊断
2023-06-14 · 4分钟 异步任务:如何处理乱序结果与并发上限 以连续刷新同一份数据为例,处理旧结果覆盖新状态、请求堆积和失败回退;用 Pekko Typed 复现并验证。 并发编程 # Scala # Pekko
2023-06-13 · 4分钟 分布式任务:用租约与 fencing 隔离过期写入 任务被接管后,旧执行者仍可能恢复并写入。分析租约的作用、存储端的写入检查,以及过期与接管的区别。 分布式系统 # Scala # Pekko