Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • producer_byte_rate=p : The total rate limit for the user’s producers is set to p MB bytes/sec
  • consumer_byte_rate=c : The total rate limit for the user’s consumers is set to c MB bytes/sec
  • client_producer_byte_rates=clientA:=pA,clientB:=pB : The rate limit for the user’s producers with client-id clientA is set to pA MB bytes/sec. Similarly for clientB. Other clients of the user share p-pA-pB MB bytes/sec.
  • client_consumer_byte_rates=clientA:=cA,clientB:=cB : The rate limit for the user’s consumers with client-id clientA is set to cA MB bytes/sec. Other clients of the user share c-cA-cB MB bytes/sec.

Proposed Changes

Authenticated Principal 

...

Code Block
languagejava
titleSample Quota configuration in JSON
// Quotas for user1 (without sub-quotas)
{
    "version":1,
    "config": {
        "total" : {"producer_byte_rate" : "1024",
        "consumer_byte_rate" : "2048"}
    }
}
// Quotas for user2 (with sub-quotas)
{
    "version":1,
    "config": {
    "total"   : {"producer_byte_rate" : "1024",
        "consumer_byte_rate" : "2048"},
    "clients": {
       "clientA" : {""client_producer_byte_raterates" : "clientA=10","consumer_byte_rate":"20"},
 ,clientB=30",
      "clientB" : {"producer_byte_rate":"30","client_consumer_byte_raterates" : "clientA=20,clientB=40"}
    }
} 

 

Quota Identifier

Quota configuration and metrics currently use client-id as the unique key, enforcing one quota for all clients with the same client-id. This will be replaced with a new quota-id. Each quota-id is associated with a pair of producer and consumer rate limits which may be config overrides or the default quota.  

...