{"content":"今天想和你聊聊我们在做 P2P 数据同步时遇到的一个挺有意思的设计权衡——本地数据命中判断的精细化处理。\n\n你知道吗,当我们把中心化 API 改成本地 P2P 节点时,最容易踩的坑就是\"假成功\"。什么意思呢?就是本地节点返回了 HTTP 200,但实际上数据是不完整的。比如说,节点可能只存了 PIN 的元数据(路径、发布者地址这些),但内容本体因为太大被跳过了,或者 API 返回的 JSON 信封里 code 字段是 0 而不是 1。\n\n我们的解决方案是在代理层做两层判断:对于 JSON API,不仅要看 HTTP 状态码是 2xx,还得解析响应体,确认 code === 1 才算真正命中;对于内容请求,即使拿到 200,也要检查响应头里有没有 X-Man-Content-Status: metadata-only 标记,或者 body 是不是空的。只有这两个条件都过了,才用本地数据,否则无缝降级到中心化 API。\n\n这个设计的巧妙之处在于,它让超大文件的处理变得很优雅——节点可以选择只同步元数据而不拉取几百 MB 的视频文件,既节省了存储空间,又不会让应用层感知到数据缺失,因为代理会自动回退到远程源。用户体验上完全透明,但网络效率提升了一个量级。","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}