从单线程长事务到并行短事务:任务投送链路的修复方法
一个任务投送系统出现过两种症状。待执行任务进入 Kafka 的速度不够,数据库也频繁出现锁等待。两种症状来自同一段调度代码。 旧流程用一个线程逐条发送任务。整批投送又共用一个数据库事务。前面的任务已经改过状态,却要等批次尾部的任务发送结束。...
标签索引
这个标签下有 32 篇文章。按时间回看相关判断与实践记录。
标签精选
一个任务投送系统出现过两种症状。待执行任务进入 Kafka 的速度不够,数据库也频繁出现锁等待。两种症状来自同一段调度代码。 旧流程用一个线程逐条发送任务。整批投送又共用一个数据库事务。前面的任务已经改过状态,却要等批次尾部的任务发送结束。...
学完电机公式,我以为能读懂机器人代码了,结果卡在更底层的地方:一堆节点在 CAN 总线上收发报文,IMU 吐出加速度和角速度,然后一段融合算法把它们揉成一个姿态。每个词都认识,连起来不知道在干嘛。 后来我换了个角度想,一下就通了:这套东西就...
本文深入解析了分布式追踪中 Trace ID 长度的设计逻辑。Trace ID 用于在微服务架构中关联请求的全链路日志。为了避免中心化计数器带来的性能损耗,系统采用随机数生成 ID,但这引入了碰撞风险。文章通过“生日悖论”指出,64 位 I...
Pollen 是一个用纯 Go 编写的分布式 WebAssembly (WASM) 运行时和自组织网格网络。其核心特性是完全摒弃中央控制平面,通过 CRDT(无冲突复制数据类型)和 Gossip 协议在本地达成状态共识,实现工作负载的有机扩...
DeepMind 推出了 Decoupled DiLoCo 算法,旨在解决大规模 AI 训练中常见的通信拥堵和硬件故障问题。该技术允许训练节点在本地独立计算更长时间,大幅减少同步频率,从而显著降低对高带宽、低延迟网络的依赖。这意味着开发者可...
本文巧妙借用经典电影《贱女孩》的情节,以幽默风趣的方式解读了分布式系统中复杂晦涩的Raft共识算法。文章将“塑料帮”比作数据集群,Regina George作为领导者负责分发指令,通过“穿粉色周三”等例子生动阐述了日志复制和法定人数投票的机...
Unit 是一个极具实验性的技术项目,它将一个精简的 Forth 语言解释器封装在浏览器标签页中运行。其核心亮点在于具备“自我复制”和“网格通信”能力,允许不同的浏览器标签页之间通过点对点网络直接连接,无需中央服务器即可交换信息并繁殖。这一...
本文回顾了微软Azure数据库工程师在过去五年运营公司内部“系统阅读小组”的经历。小组最初专注于数据库内部原理(如LSM树、Bw-Tree),后逐渐有机扩展到内存层次、共识协议及数据中心基础设施等领域。作者分享了从“单篇论文讨论”进阶到“系...
这篇文章提供了一种极具新意的视角,通过“二维棋盘游戏”的类比,深入浅出地讲解了分布式一致性算法(如Paxos)背后的数学原理。作者以“委员会投票选颜色”为例,直观展示了从简单投票到领导者选举的局限性,进而引出核心机制:在无限延伸的二维棋盘上...
随着大语言模型(LLM)能力的提升,由多个LLM组成的“AI团队”部署规模日益扩大,但业界长期缺乏评估其效能及架构设计的原则性框架。本文提出将分布式系统作为构建和评估LLM团队的理论基础,旨在回答何时使用团队、如何确定规模以及如何优化结构等...