Make the RPC proxy more robust by considering the query rate limits of every configured servers.
This is to pro-actively avoid retries and/or RPC failures.
The proxy is already load-balancing, but it was done without consideration that some servers may be fast, but have severe rate limitation.
Example of use case would be tatum which offer a 3 QPS and 200 QPS service level.
Each server can have zero or more limitation rules defined in suibase.yaml:
max_per_secs:
max_per_min:
When there is no rules defined the default is to not perform any rate limitation for that server.
Make the RPC proxy more robust by considering the query rate limits of every configured servers.
This is to pro-actively avoid retries and/or RPC failures.
The proxy is already load-balancing, but it was done without consideration that some servers may be fast, but have severe rate limitation.
Example of use case would be tatum which offer a 3 QPS and 200 QPS service level.
Each server can have zero or more limitation rules defined in suibase.yaml:
max_per_secs:
max_per_min:
When there is no rules defined the default is to not perform any rate limitation for that server.