本帖最后由 云栈后端架构 于 2026-1-22 20:38 编辑
最近马斯克又把 X(原 Twitter)核心推荐算法开源了,这对咱们做后端的来说,绝对是个拆解大厂架构的好机会。这套算法底层重构,全面采用了与 xAI 的 Grok 模型相同的 Transformer 架构,是一个基于 LLM 大模型的推荐系统。
很多人好奇,那个 "For You" 列表到底是怎么算出来的?怎么在毫秒级处理亿级数据?我花时间扒了扒 x-algorithm 的源码,发现里面全是硬核干货。今天就从架构角度,聊聊这套基于 Rust 的高性能混合架构到底是怎么跑起来的。
架构总览:Mixer 模式的落地
整个系统的入口叫 home-mixer,架构模式是非常经典的 Mixer(混合器)。
它不像以前那种大单体,而是采用了一套叫 CandidatePipeline 的框架。简单说,就是把召回、过滤、排序这些逻辑全拆成了独立的插件(Trait)。
这种设计在 后端 & 架构 领域非常实用。X 的代码完美印证了“重流程,轻业务”的思路:业务逻辑变了改插件就行,不用动骨架,解耦做得非常漂亮。
关键组件:数据与计算的分离
1. Thunder:手撸的内存数据库
处理用户关注流(In-Network)的实时召回,X 没有直接用现成的 KV 存储,而是专门搞了个叫 Thunder 的组件。
- 技术栈:Rust + Kafka
- 设计:它本质上是一个基于内存的 Post Store。
- 亮点:代码里用了
DashMap 做高并发读写,配合 VecDeque 存储用户时间线。这操作就是为了快,保证了 O(1) 的存取效率,在处理海量实时数据时非常稳。
2. Phoenix:AI 驱动的排序引擎
再看未关注内容的推荐,这块归 Phoenix 管。它用了双塔模型做召回,但最值得看的是排序阶段。
在 grok.py 代码里,实现了一种特殊的 Attention Mask。啥意思呢?就是在 Transformer 推理时,让候选推文之间“互不相见”,只能看到用户信息。
这样一来,每条推文的打分就是独立的,不会受批次内其他推文干扰。这思路对做 人工智能 和推荐系统的同学很有参考价值。
为什么都在转 Rust?
通读源码最大的感触就是:X 是真的彻底拥抱 Rust 了。
在 Feed 流这种高并发、低延迟的场景下,Java 或 Go 的 GC(垃圾回收)有时候会带来不可控的延迟抖动。而 Rust 既保证了内存安全,又没有 GC 负担,确实是做高性能服务的首选。云栈社区里很多做基础设施的老哥也都在往这个方向转。
总结
这不仅仅是一个算法项目,更是一个实打实的工程架构范本。Rust 搞定底座,AI 搞定大脑,Pipeline 串联全身。如果你想了解亿级流量下的系统该怎么搭,这套源码值得细品。
项目地址
- GitHub:
github.com/xai-org/x-algorithm
- 官方博客:
x.ai/blog
- Rust 学习:
https://yunpan.plus/f/57
- AI 学习:
https://yunpan.plus/f/29
关注【云栈后端架构】,获取更多硬核源码解析与架构干货。
更多技术资源与交流,欢迎访问:云栈社区
标签:#xAlgorithm #Github #Rust #后端架构 #推荐系统 #xAi #算法 #Mixer #Thunder
来自圈子: 云栈后端架构 |