文件名称:skuld:分布式任务跟踪系统
文件大小:244KB
文件格式:ZIP
更新时间:2024-07-22 17:28:14
Clojure
斯库尔德 Skuld 是(或旨在成为)混合 AP/CP 分布式任务队列,针对节点的线性扩展,对 N/2-1 故障的鲁棒性,队列的极高可用性,保证至少一次交付,近似优先级 + FIFO排序,以及任务执行互斥的合理界限。 任务的每次运行都可以将状态更新记录到 Skuld,检查他们的进度并允许用户检查他们的任务已经走了多远。 Skuld 结合了许多分布式系统的技术: 风格的一致性哈希、vnode 上的仲裁和反熵为 Skuld 的不可变数据集提供了高度可用的基础,包括入队、更新和完成。 所有 AP 操作都由,确保在缺乏强一致性的情况下收敛。 CP 操作(例如声明)由类似于或的领导选举/仲裁协议支持,并由不同群组之间的切换转换的附加约束支持。 Skuld 依赖于半同步时钟:网络、GC 暂停和时钟偏差可能会引入不超过 eta 秒的消息偏差。 Skuld 适用于 eta 大约为几分钟到几小时的系统,