The negentropy set-reconciliation protocol
3 months ago
- #data-synchronization
- #protocol
- #distributed-systems
- NeGentropy是一种用于高效同步数据集的数据集协调协议。
- 它有助于检测和修复因网络问题或独立创建导致的数据集不一致问题。
- 该协议涉及两方(客户端和服务器)交换消息以识别缺失的记录。
- 记录必须映射到一个32字节的ID(通常是加密哈希值)和一个时间戳。
- NeGentropy不支持更新记录,变更必须通过删除和插入操作来建模。
- 该协议使用三种消息模式处理数据范围:Skip(跳过)、Fingerprint(指纹)和IdList(ID列表)。
- 指纹范围采用增量哈希技术以提高差异检测效率。
- 实现时可支持帧大小限制以管理消息体积和网络约束。
- 现有多种语言实现版本,包括C++、JavaScript、Rust、Go和Kotlin。
- 提供一致性测试套件以确保不同实现间的互操作性。