How to Build More Resilient Local-First Applications With AT Protocol Infrastructure

TL;DR · AI 摘要
AT协议基础设施可构建更健壮的本地优先应用,减少对特定后端的依赖。
核心要点
- 使用PDS替代App View可提升应用韧性,避免单点故障
- 三个实验验证AT协议在协作编辑、待办事项和社交网络中的可行性
- CRDT记录简化数据同步,但需处理跨应用互操作性挑战
结构提纲
按章节快速跳转。
思维导图
用一张图看清主题之间的关系。
查看大纲文本(无障碍 / 无 JS 友好)
- AT协议基础设施
- 本地优先架构
- PDS核心存储
- Relay同步网络
- 实验案例
- 协作文本编辑
- CRDT待办事项
- 社交网络功能
金句 / Highlights
值得收藏与分享的关键句。
AT协议通过PDS和Relay实现数据存储和同步,减少单点故障
YJS更新记录在PDS中分散存储,导致跨应用互操作性困难
CRDT记录的元数据分离设计提升了同步效率
如何利用AT协议基础设施构建更健壮的本地优先应用 - InfoQ
InfoQ 首页 News 如何利用AT协议基础设施构建更健壮的本地优先应用
开发
在线 InfoQ AI 安全与隐私工程认证(8月26日):在受监管环境中部署AI?
如何利用AT协议基础设施构建更健壮的本地优先应用
2026年7月13日 3分钟阅读
作者:
- Olimpiu Pop
#### 关注我们
YouTube
232K 粉丝
26K 粉丝
新
RSS
19K 读者
X
57.1k 粉丝
21K 点赞
Bluesky
收听本文 -
0:00
音频准备就绪
您的浏览器不支持音频元素。
正常
1.25x
1.5x
喜欢
新下拉阅读列表
- 阅读列表
Jake Lazaroff 在演讲中提出,AT协议(atproto)可以作为分布式应用的底层架构,而不仅仅是社交网络的基础设施。该演讲聚焦于本地优先架构,用户将数据存储在个人数据服务器(PDS)中,而应用则通过共享协议基础设施实现存储、授权、同步和更新。他的核心观点是,AT协议可以减少对特定应用后端服务的依赖,帮助避免单点故障。
Lazaroff 以自己在休假期间开发的旅行规划应用为例开场。该应用使用了YJS和托管同步服务器。大约一年后,同步服务提供商被收购并关闭。应用仍可在本地运行,但多设备同步功能失效,只能通过手动文件传递作为替代方案。他用这个例子说明协作基础设施与系统韧性之间的矛盾:同一台服务器既实现了跨设备同步,也成为了应用最脆弱的依赖点。
随后,他介绍了atproto作为替代架构模型。在该模型中,每个应用不再维护独立的后端系统,而是由用户在PDS中存储数据,并授权应用访问。在此架构中,PDS提供存储、细粒度认证和推送更新功能。Lazaroff 将标准atproto架构中的App View(定制化每应用服务器)描述为可选组件,并指出其是架构中的薄弱环节。
演讲主体部分介绍了三个实验,这些实验完全去除了App View,仅依赖静态应用、PDS和中继服务器。在第一个实验中,Lazaroff 使用YJS和ProseMirror构建了协作文本编辑器。每个YJS更新都被记录到用户的PDS中。协作者信息存储在元数据记录中,同行通过中继服务器近乎实时地获取并复制彼此的更新。他表示这实际上将atproto用作YJS同步服务器。该方法的主要挑战在于文档状态分散在多个记录中,这使得与其他应用的互操作性更加困难。
第二个实验使用原生的CRDT记录实现了一个协作待办事项列表。这些记录是包含$type、listId、text、done和createdAt等字段的普通JSON对象,CRDT元数据单独附加。Lazaroff认为,这种设计即使对于忽略CRDT元数据的应用程序,也能使记录本身具有自解释性。该设计为每个字段使用了最后写入胜出(last-write-wins)寄存器,这在并发编辑不同字段时避免了冲突。当并发写入针对同一记录时,比较并交换(compare-and-swap)逻辑会拒绝写入,随后客户端会获取最新状态,在本地合并后重试。在此案例中的主要挑战是处理对同一记录的并发写入,同时不丢失更新或破坏CRDT模型。
在第三个实验中,Lazaroff将atproto用作WebRTC视频聊天的信令机制。一个对等端将ICE(交互式连接建立)候选记录写入PDS并指定目标接收者,另一个对等端通过中继监听并响应,随后双方建立直接的WebRTC连接。在实时演示期间,由于会议WiFi条件限制,需要使用TURN(通过NAT的中继穿越)中继,他将其称为“可耻的TURN服务器”。他还建议WebRTC数据通道可以补充atproto,为本地优先应用提供实时传输。此处的主要挑战是网络穿越,因为不可靠的会议连接阻止了干净的点对点连接,迫使回退到TURN基础设施。
在整场演讲中,Lazaroff主张开发者应基于共享基础设施进行构建,而非每个应用单独的服务器。他引用了服务器应保持简单、通用和可替代的观点。他指出多个独立的PDS主机、免费公共中继以及社区支持的聚合努力,表明atproto已经支持这一方向。在闭幕讨论中,观众的问题集中在互操作性、同步和WebRTC部署的权衡上。贯穿整个演讲的核心观点始终一致:atproto被展示为分布式应用的可行基础,而不仅仅是社交平台。
作者部分主容器
关于作者
部分标题
每个作者的主容器
#### Olimpiu Pop
显示更多
显示更少
#### 本内容属于Web应用主题
##### 相关主题:
- 开发
- 架构与设计
- Web应用
- 分布式数据
- AT协议
- 相关编辑
- 相关赞助商 设计容错:如何保证云中断期间的数据访问
- 相关赞助商 为您的备份、数据湖和AI提供智能云基础设施。SoFi、Red Bull和Structured Web的团队使用Eon来简化备份,缩短恢复时间,将数据转化为实时可搜索的资产,同时将备份成本降低高达50%。立即了解更多信息 >
InfoQ新闻通讯
每周五发送InfoQ上周内容摘要。加入超过25万名高级开发者的社区。查看示例
我们保护您的隐私。