【向量检索引擎】Proxy 与 Coordinator:接入面、TSO 与集群大脑
以一次 collection 生命周期里的 DDL/DML/DQL 请求为线索,拆解 Milvus 2.6.x 无状态 Proxy 的路由与 MPP 归并,单活跃 Coordinator 的 TSO/timetick 全序机制与任务调度,并对照 Spanner/TiDB 的时间戳设计说明工程取舍。
发布来自土法炼钢兴趣小组的知识、笔记、进展和应用。主题包括数据结构和算法、编程语言、网络安全、密码学等。
共 8 篇文章 · 返回首页
以一次 collection 生命周期里的 DDL/DML/DQL 请求为线索,拆解 Milvus 2.6.x 无状态 Proxy 的路由与 MPP 归并,单活跃 Coordinator 的 TSO/timetick 全序机制与任务调度,并对照 Spanner/TiDB 的时间戳设计说明工程取舍。
以一条 insert 从 SDK 到「立刻能被搜到」的最小故事为线索,拆解 Milvus 2.6.x Streaming Service 三件套、Message/TSO 写顺序、Woodpecker 零本地盘 WAL 的 MemoryBuffer/QuorumBuffer 模式,并标明官方吞吐数字的引用边界。
按官方 Consistency Level 与 Timestamp 文档拆解 Strong/Bounded/Session/Eventually 如何映射到 GuaranteeTs,用最小故事、四级时间轴与 Strong 等待时序图说明「一致性」在 Milvus 里首先是一笔延迟账;对照 Abadi PACELC 定理与 Bailis PBS,说明 Bounded 是定性旋钮而非概率保证。
拆解 PD 的 TSO 如何用 46 位物理毫秒 + 18 位逻辑计数器分配全局单调时间戳,PD leader 如何靠 etcd 时间窗口做故障恢复、客户端如何批量取号;用一句话对照 Spanner TrueTime 的硬件不确定区间路线与 Milvus 的 GuaranteeTs 用法。
用官方 Grafana 指标与系统表钉住五类高频生产故障的根因链:Region 过多、写/读热点、PD TSO 抖动、悲观锁冲突、raftstore apply 积压;给出症状到机制的决策树,不重复调参手册。
补齐 RocksDB 单 Region、Raft 协议与 HTAP 范式之间的工程链路:以 TiKV 7.x/8.x 拆解 Region、Multi-Raft、raftstore、PD/TSO 与 Percolator 事务,并以 TiFlash Learner 收束新鲜度;CockroachDB 对照与选型。
一个用户态 send() 调用要走过 TCP 分段、IP 路由、Netfilter 钩子、Qdisc 排队、GSO 分段、驱动 DMA 映射六个阶段才能把数据送上网线。本文从 Linux 6.6 内核源码出发,逐函数拆解完整的 TX 发包路径,深入 TSQ 限流、Qdisc 调度、BQL 防膨胀、GSO/TSO 分段决策等核心机制。
一个在 x86 上跑了两年的内核模块,迁移到 ARM 后开始随机丢数据。三天的调试过程教会了我 smp_wmb() 的真正含义。附 Linux 内核屏障 API 完整分类与 x86/ARM 编译产物对比。