Pythonista7/doorman-kotlin-client

Doorman is a solution for Global Distributed Client Side Rate Limiting. Clients that talk to a shared resource (such as a database, a gRPC service, a RESTful API, or whatever) can use Doorman to voluntarily limit their use (usually in requests per second) of the resource.

This is a Kotlin client for the Doorman service which allows voluntary client-side rate limiting. The big idea can be captured in this image and this repo represents the client part of the implementation.

Doorman

This implementation is based on the Go Client from the Doorman project, hence the bugs/limitation of the Go client are also present in this implementation at the moment.

Check out the tests and the Doorman Readme for more.