同步在底层如何工作 —— 密钥、LWW、墓碑
在第二台电脑上输入一个同步密钥,你的规则就在那里了。它在底层如何工作 —— 以及为什么当你在两台设备上同时修改规则时 JustZix 不会覆盖你的工作。
同步密钥
同步基于一个 25 字符的密钥。它在本地、在你的设备上生成 —— 后端从不看到它的明文,只保存一个 SHA-256 哈希。这意味着即便访问服务器数据库也揭示不了密钥。
按实体解决冲突
你在笔记本上改规则 A,在工作电脑上改规则 B,离线,同时进行。一旦连上,两个改动都必须调和。JustZix 按单个实体解决它,不是一锅端:没有「覆盖所有设置」这种东西。规则 A 和规则 B 是分开的实体 —— 两个改动都存活。
带 Lamport 时钟的 Last-Write-Wins
当同一个实体在两个地方改变时,较新的版本胜出 —— 「last write wins」。但「较新」不能依赖系统时钟(这些会漂移)。JustZix 使用 Lamport 时间戳 —— 一个每次修改都递增的逻辑计数器。这给出一个一致的事件排序,不管设备的时钟一致与否。
墓碑 —— 一次删除如何传播
删除比修改更难。如果一条被删的规则只是「消失」,另一台从没见过它消失的设备会在下次同步时把它重新加回来。所以一次删除留下一个墓碑 —— 一个「这个被删了」的标记。墓碑像任何其他改动一样传播,所以删除在所有设备上都是永久的。
当冲突发生在登录时
你在一台已经有本地规则的新设备上用一个密钥登录。JustZix 不猜 —— 它显示一个解决 UI:用服务器数据、上传本地数据,或者按 Last-Write-Wins 规则把两者合并。决定权在你。
另见
- 文件夹层级 —— 究竟什么被同步
- 注入 JS 的安全 —— JustZix 的信任模型
- 为 QA 团队用 JustZix —— 同步对比链接分享
安装 JustZix —— 处处拥有同样的规则,没有丢失的工作。
为这篇文章评分
暂无评分 — 成为第一个。