Google Doorman 是 Youtube 开源的全球分布式客户端速率限制工具,使用 Go 和 Python 编写,基于 gRPC 通讯协议。

Doorman 是全球分布式客户端速率限制解决方案,客户端跟一个共享资源(比如一个数据库,gRPC 服务,RESTful API 或者其他)的通讯可以使用 Doorman 自动限制他们对资源库的使用(每秒的请求数)。Doorman 的一些高可用特性需要依赖分布式锁管理器。Doorman 当前支持 etcd,但相对简单的需求可以使用 Zookeeper 代替。

Doorman 当前是 Alpha 版本,服务器和 Go 客户端已经在 Google (功能和负载测试) 上经过了大量测试,所以是可用的。但是因为开源代码,需要从 Google 内部技术切换到其他开源替代,所以需要更多的测试。

Doorman 短期计划:

  • C++ 客户端
  • Python 客户端
  • Docker 镜像

Doorman 长期计划:

  • Ruby 客户端
  • 完全的语义化版本

注意:Doorman 并不是官方的 Google 软件。

Doorman 遵循 Apache 2.0 开源授权协议。

GitHub 地址:https://github.com/youtube/doorman