拆解 Google Zanzibar 的 Leopard 索引:两次查询搞定任意深度权限判断
arpit_bhayani · x · 2026-09-19
Google 的统一授权系统 Zanzibar 支撑着 Drive、YouTube 等产品的访问控制,其中 Leopard Index 是让权限检查变快的关键。
- 授权模型:用户可属于组,组还能嵌套组。要判断 Alice 是否在 engg 组,传统做法要沿嵌套链逐跳查询,深层嵌套意味着每次访问检查都要跨机器多次查找。
- Leopard 的解法:预计算两张表——member→group(用户直接所属的组)和 group→group(组到任意深度所有子组的映射)。判断归属只需各查一次表再取交集,Alice 与 engg 的集合共享 payments-team,即命中。与嵌套深度无关,恒为两次查询加一次交集判断。
- 代价与权衡:写入端变贵——把一个组放入另一个组要更新大量预计算条目。但授权场景里检查频率远高于成员变动,这是典型的「用写换读」权衡。
- 新鲜度:用周期性全量重建加近期变更流,让新成员关系快速生效。
作者 takeaway:如果热读路径上有慢的图遍历,预计算答案值得考虑。
「Infra」频道最新
- 分析师:超大规模厂商 2026 折旧将达 2550 亿美元 — luisdans · 2026-09-19
- 为静音全程低功耗跑 M5 Max:128GB 本地跑 Qwen 的取舍实录 — joshwhiton · 2026-09-19
- 分析师称开源推理崛起令闭源 AI 基础设施承压,「推理者困境」显现 — AccBalanced · 2026-09-19
- 换 RTX4090 后 ComfyUI 离奇卡死,用户折腾两周仍未解决 — Jimbo_1995 · 2026-09-19
- 特斯拉 AI5 芯片在三星得州厂试产,2027 年量产在即 — XFreeze · 2026-09-19
- 单卡 3090 实测 8 款视频 VLM:吞吐与首 token 延迟横向对比 — SkyLordOmega · 2026-09-19