午夜咖啡午夜咖啡

jolestar 的文章与笔记。

Post

Twitter 搜索架构里 Blender 与透明代理的相似问题意识

2011-04-29 11:06:46Post

Twitter 搜索里的 Blender 聚合层之所以有意思,在于它和很多透明代理、网关系统面临着相似的能力拼装问题。

Twitter 搜索架构时,我最感兴趣的其实不是“它用了什么语言”,而是里面一个叫 Blender 的聚合层。

这种东西吸引我的地方在于,它不是单纯做一个后端服务,而是在多个搜索来源、多个结果通道或者多个能力层之间,提供一个统一的拼装入口。

换个更抽象的说法,它像是在做一层“结果编排”和“能力汇总”。

这也是为什么我当时会联想到我们自己正在做的一些透明代理功能。

虽然搜索聚合和透明代理看起来不是同一类问题,但它们背后的问题意识其实有不少相似点:

  • 前面暴露一个统一入口
  • 后面接多个异构来源
  • 中间负责路由、拼装、裁剪或者增强
  • 让调用方尽量少感知底层差异

所以我会觉得,这类系统有意思的地方不只是业务场景,而是它代表了一种很常见但又很容易被低估的架构角色。

很多时候,系统真正复杂的地方不在单个后端能力本身,而在如何把多个后端能力以一个更稳定、更一致的方式组织出来。

如果把这个抽象抓住了,你会发现搜索、代理、网关、聚合编排,甚至后来的很多 API Gateway 或 BFF,本质上都在反复解决类似的问题。

所以当时我看到 Twitter 搜索架构时,注意力自然就落到了 Blender 这种层上。因为这里面真正值得长期琢磨的,不只是某个公司的搜索实现,而是“统一入口如何组织异构后端”这个架构母题。