Reading Zanzibar
a year ago
- #Scalability
- #Authorization
- Google的Zanzibar是一个为灵活性和可扩展性设计的全局授权系统。
- Zanzibar的特性包括对象、用户、命名空间、用户集和用户集重写规则,以实现灵活的授权。
- 该系统使用配置语言定义访问规则,相比将授权逻辑嵌入查询语句更易于管理。
- Zanzibar为谷歌级规模构建,利用Spanner实现分布式一致性,并通过TrueTime确保时间戳精确排序。
- 关键组件包括aclservers、watchservers和Leopard索引系统,以处理可扩展性和热点问题。
- Zanzibar通过zookies机制保证一致性,确保客户端不会获取过时数据。
- 多家公司和开源项目受到Zanzibar启发,但对原始理念的遵循程度各不相同。
- 对于小规模需求,Zanzibar的复杂性可能过大,因此人们更倾向于简单的库级解决方案。