Linux / 存储
从 fsync、无锁到 io_uring:系统层踩坑入口
按工程问题找文章:fsync 失败语义、内存屏障、Zero Copy、Direct I/O、文件锁与分配器擂台。
Linux 内核、存储与网络、可观测性、系统架构与大模型基础设施的工程笔记:机制拆解、踩坑复盘与可核对证据,少空谈。
第一次访问时先按主题切入,比直接沿着时间线翻文章更快。
Linux / 存储
按工程问题找文章:fsync 失败语义、内存屏障、Zero Copy、Direct I/O、文件锁与分配器擂台。
系统架构
限流与过载、混沌实验、多租户、Cloudflare/Discord 案例,以及 AI 原生架构。
大模型基础设施
把训练、推理、量化与服务化串成一条工程主线;先建立 GPU 心智模型,再进入引擎与量化落地。
可观测性
从 Continuous Profiling 到 eBPF 全景与 ftrace/kprobe 生产实战。
把已经形成系列阅读闭环的主题集中在首页,减少在 400 多篇文章里盲找的成本。
按最近更新时间排序;如果你想系统性阅读一个主题,优先回到上面的专题入口。
相对 etcd/13、distributed/50、k8s-network 补齐 kube-apiserver 生产内核缺口;以 Storage/Watch/Admission/Auth/APF 五轴为坐标系定义 16 篇阅读路线;版本锚定 Kubernetes v1.30.3。
拆解 kube-apiserver 进程模型与 generic apiserver 框架;钉 HandlerChain 各插槽顺序与失败落点;说明 GVR 路由机制与请求在到达 storage 前可能被拦截的位置。版本锚定 Kubernetes v1.30.3。
拆解 kube-apiserver 的 storage.Interface 契约与 etcd3 实现:codec 序列化、pathPrefix/resourcePrefix、value.Transformer 加密边界、GuaranteedUpdate 乐观并发,以及 Watch 到 etcd3 的完整路径。版本锚定 Kubernetes v1.30.3 / etcd v3.5.33。
钉 Kubernetes resourceVersion 字段与 etcd mod revision 的对应关系;分析 continue token 的分页语义与成本;说明不同 List 路径的一致性期望差异;以及 410 Gone 与 ErrCompacted 的分列。版本锚定 Kubernetes v1.30.3 / etcd v3.5.33。
钉 Kubernetes v1.30.3 cacher 对 storage.Interface 的包装:watchCache 滑动窗口与 Ready 门、bookmark 推送路径、cache miss 打穿 etcd 的触发条件,以及 List 风暴成因与 watch cache SLO 与 compaction 间隔之间的开放问题。
钉 Kubernetes v1.30.3 List 分页的 continue token 编码语义、limit+continue 多轮 etcd Range 行为、resourceVersion 对一致性语义的影响,以及 label/field selector 在 cacher 与 etcd3 路径上的不同成本。
钉 Kubernetes v1.30.3 服务端 Watch 路径:从 REST handler 到 cacher/etcd3 watcher 的建立过程、resourceVersion=0 与具体 RV 的语义差异、410 Gone 与 etcd ErrCompacted 的映射、bookmark 推送与连接生命周期,以及与 client-go Informer 的边界。
钉 Kubernetes v1.30.3 Admission 链的阶段位置、Mutating 与 Validating 两阶段顺序、内置插件注册路径与典型示例、webhook 边界与 timeout 语义,以及 fail-open vs fail-closed 的工程争议。
钉 K8s v1.30.3 的 MutatingWebhookConfiguration / ValidatingWebhookConfiguration v1:timeoutSeconds、failurePolicy、sideEffects、reinvocationPolicy 字段语义;webhook 慢如何表现为写路径延迟而非 etcd lag;生产可用性门选取;CEL ValidatingAdmissionPolicy 作为内置替代路径;排障证据包。
钉 K8s v1.30.3 的认证链:X509、SA token(bound token)、Bearer、OIDC、Webhook token、匿名用户;ServiceAccount bound token 与 TokenRequest 语义;apiserver 认证 flags 边界;401 与存储层故障的分列;AuthZ 路径见第 11 篇。
钉 K8s v1.30.3 的授权链:RBAC、Node、Webhook、ABAC(遗留);SubjectAccessReview / SelfSubjectAccessReview 用法;Audit policy 四级;403 与 etcd 权限错误、Admission 拒绝的分列;不把 etcd 的 mTLS 错误写成 K8s RBAC 故障。
钉 K8s v1.30.3 的 API Priority and Fairness(APF):FlowSchema 匹配、PriorityLevelConfiguration 公平排队(SFVR)、与旧 max-in-flight flag 的共存关系;429/timeout/504 在 APF 排队、etcd_request_duration_seconds、Admission Webhook 三轴的分列;pkg/util/flowcontrol 路径;APF 与简单 max-in-flight 的运维复杂度争论。
厘清 CRD v1 与 Aggregated API 两条扩展路径在 kube-apiserver 中的存储与请求分界:CRD 对象存 etcd、conversion webhook 失败如何体现在 Storage 轴,APIService 则把请求转发到外部 Extension Server 可引发 503。明确 scheduler/controller/kubelet 为扩展停损线之外的数据面与控制循环。
kube-apiserver 高可用模式:多实例共享 etcd、无需内部 leader election;核心 flag 语义(--etcd-servers、--etcd-servers-overrides、--shutdown-delay-duration、encryption-provider-config);与 etcd/14 的联合升级检查单;Kubernetes 版本偏差策略与 etcd 矩阵指针。
按 Storage/Watch/Admission/Auth/APF 五轴做症状否证;给出完整五轴命令表与症状→轴映射(504、410、401、403、webhook 超时、List 风暴、OOM);说明 apiserver_request_duration_seconds 等核心 metrics 语义;并提供决策树:何时穿透到 etcd/15,何时留在 apiserver 轴。