文章摘要
Blacksky团队基于bluesky的atproto项目进行了优化分支,主要改进包括AppView性能优化、缓存机制增强及社区功能扩展。该项目托管在GitHub上,旨在提升社交协议的性能和用户体验。
文章总结
Blacksky 的 AT Protocol 实现分叉
项目概述
Blacksky 社区维护了一个 Bluesky AT Protocol 参考实现的分叉版本,位于 GitHub 仓库 blacksky-algorithms/atproto。该项目主要针对 AppView 进行了性能优化,增加了缓存机制和社区功能,为 api.blacksky.community 提供支持。
核心差异
技术架构改进
- 用 Rust 编写的 rsky-wintermute 替代了原生的 TypeScript 事件消费器,实现了:
- 并行队列处理(支持 10,000+ 条记录/秒)
- 独立的实时索引与回填队列
- 配套运维工具(账户定向索引、标签流重放等)
性能优化
数据库查询:
- 在 feeds.ts 中使用 LATERAL JOIN 优化时间线查询
- 强制按用户索引使用,避免全表扫描
缓存层:
- Redis 缓存配置(Actor 资料60秒、记录5分钟、互动计数30秒)
- 已知问题:Actor 缓存存在 protobuf 时间戳序列化问题(当前建议禁用)
其他改进:
- 通知偏好服务端强制实施
- JWT 验证时绕过缓存直接查询 PLC 目录
- 记录存储前进行 JSON 消毒(移除空字节)
社区功能
- 专属 lexicon 命名空间
community.blacksky.feed.* - 独立的
community_post数据表 - 数据平面和 API 层的成员权限控制
- 与标准帖子线程的整合显示
系统架构
mermaid
graph TD
Bluesky中继-->rsky-wintermute
rsky-wintermute-->PostgreSQL
PostgreSQL-->bsky-dataplane
bsky-dataplane-->bsky-appview
bsky-appview-->反向代理
PostgreSQL-->Palomar(搜索服务)
Palomar-->OpenSearch
核心组件包括: - rsky 系列工具:事件索引、中继、视频处理 - 数据平面:基于 gRPC 的 PostgreSQL 接口 - Palomar:集成 OpenSearch 的全文搜索
部署要求
硬件配置(全网络规模)
| 资源 | 最低 | 推荐 | |------|------|------| | CPU | 16核 | 48+核 | | 内存 | 64GB | 256GB | | 存储 | 10TB NVMe | 28TB+ RAID | | 网络 | 100Mbps | 1Gbps+ |
数据规模示例
- 帖子记录:~3.5TB
- 点赞数据:~2TB
- 通知数据:~600GB
- 搜索索引:~500GB
运营经验
项目文档详细记录了在构建全网络 AppView 过程中解决的关键问题,包括: - PostgreSQL JSON 数据损坏 - 空字节导致的解析失败 - 通知表膨胀(曾达663GB) - 标签处理顺序问题 - 账户迁移时的签名密钥轮换
许可证
与上游项目保持一致,采用 MIT 和 Apache 2.0 双许可证。
注:该项目目前不接受外部贡献,建议需要标准实现的用户参考官方 bluesky-social/atproto 仓库。
评论总结
总结:
- 对Bluesky去中心化的质疑
- 认为Bluesky的去中心化是"笑话",ActivityPub协议更优 "The 'decentralization' of Bluesky is a joke. Despite its faults ActivityPub is superior."
- Blacksky的定位与价值
- 为美国黑人社区提供专属服务,具有自主管理权但保持互操作性 "the purpose of Blacksky is to provide a service for the (US) black community which has its own moderation decisions while being substantially interoperable"
- 用户选择社交网络主要基于社交需求而非技术因素 "the reasons people use one social network rather than another are almost always social first and technical second"
- Blacksky的发展成就
- 零成本实现数百万用户增长 "Blacksky grew to millions of users without spending a dollar"
- 关于隔离的质疑
- 直接质疑是否属于自我隔离 "Is this self imposed segregation?"
- 运营成本争议
- 有证据显示运营中继服务器月成本可低至18-34美元 "others have done for as low as $34/month...actually the article links to somebody doing it for $18/month"
- 质疑声称高成本者可能故意误导 "those posters are either wrong and trying to mislead us on purpose"