kayx23 commented on code in PR #11878:
URL: https://github.com/apache/apisix/pull/11878#discussion_r1967235692


##########
docs/en/latest/plugins/limit-conn.md:
##########
@@ -26,42 +26,47 @@ description: This document contains information about the 
Apache APISIX limit-co
 #
 -->
 
+<head>
+  <link rel="canonical" href="https://docs.api7.ai/hub/limit-conn"; />
+</head>
+
 ## Description
 
-The `limit-conn` Plugin limits the number of concurrent requests to your 
services.
+The `limit-conn` Plugin limits the rate of requests by the number of 
concurrent connections. Requests exceeding the threshold will be delayed or 
rejected based on the configuration, ensuring controlled resource usage and 
preventing overload.
 
 ## Attributes
 
-| Name                     | Type    | Required | Default     | Valid values   
                   | Description                                                
                                                                                
                                                                                
                                                                                
                                                                                
               |
-|--------------------------|---------| -------- 
|-------------|-----------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| conn                     | integer | True     |             | conn > 0       
                   | Maximum number of concurrent requests allowed. Requests 
exceeding this ratio (and below `conn` + `burst`) will be delayed (configured 
by `default_conn_delay`).                                                       
                                                                                
                                                                                
                    |
-| burst                    | integer | True     |             | burst >= 0     
                   | Number of additional concurrent requests allowed to be 
delayed per second. If the number exceeds this hard limit, they will get 
rejected immediately.                                                           
                                                                                
                                                                                
                          |
-| default_conn_delay       | number  | True     |             | 
default_conn_delay > 0            | Delay in seconds to process the concurrent 
requests exceeding `conn` (and `conn` + `burst`).                               
                                                                                
                                                                                
                                                                                
                               |
-| only_use_default_delay   | boolean | False    | false       | [true,false]   
                   | When set to `true`, the Plugin will always set a delay of 
`default_conn_delay` and would not use any other calculations.                  
                                                                                
                                                                                
                                                                                
                |
-| key_type                 | string  | False    | "var"       | ["var", 
"var_combination"]        | Type of user specified key to use.                  
                                                                                
                                                                                
                                                                                
                                                                                
                      |
-| key                      | string  | True     |             |                
                   | User specified key to base the request limiting on. If the 
`key_type` attribute is set to `"var"`, the key will be treated as a name of 
variable, like `remote_addr` or `consumer_name`. If the `key_type` is set to 
`"var_combination"`, the key will be a combination of variables, like 
`$remote_addr $consumer_name`. If the value of the key is empty, `remote_addr` 
will be set as the default key. |
-| rejected_code            | string  | False    | 503         | [200,...,599]  
                   | HTTP status code returned when the requests exceeding the 
threshold are rejected.                                                         
                                                                                
                                                                                
                                                                                
                |
-| rejected_msg             | string  | False    |             | non-empty      
                   | Body of the response returned when the requests exceeding 
the threshold are rejected.                                                     
                                                                                
                                                                                
                                                                                
                |
-| allow_degradation        | boolean | False    | false       |                
                   | When set to `true` enables Plugin degradation when the 
Plugin is temporarily unavailable and allows requests to continue.              
                                                                                
                                                                                
                                                                                
                   |
-| policy                  | string  | False                                    
 | "local"       | ["local", "redis", "redis-cluster"]    | Rate-limiting 
policies to use for retrieving and increment the limit count. When set to 
`local` the counters will be locally stored in memory on the node. When set to 
`redis` counters are stored on a Redis server and will be shared across the 
nodes. It is done usually for global speed limiting, and setting to 
`redis-cluster` uses a Redis cluster instead of a single instance.              
                                                                                
              |
-| redis_host               | string  | required when `policy` is `redis`       
  |             |                                   | Address of the Redis 
server. Used when the `policy` attribute is set to `redis`.                     
                                                                                
                                                                                
                                                                                
                                               |
-| redis_port               | integer | False                                   
  | 6379        | [1,...]                           | Port of the Redis server. 
Used when the `policy` attribute is set to `redis`.                             
                                                                                
                                                                                
                                                                                
                                          |
-| redis_username           | string  | False                                   
  |             |                                   | Username for Redis 
authentication if Redis ACL is used (for Redis version >= 6.0). If you use the 
legacy authentication method `requirepass` to configure Redis password, 
configure only the `redis_password`. Used when the `policy` is set to `redis`.  
                                                                                
                                                                |
-| redis_password           | string  | False                                   
  |             |                                   | Password for Redis 
authentication. Used when the `policy` is set to `redis` or `redis-cluster`.    
                                                                                
                                                                                
                                                                                
                                                 |
-| redis_ssl                | boolean | False                                   
  | false       |                                   | If set to `true`, then 
uses SSL to connect to redis instance. Used when the `policy` attribute is set 
to `redis`.                                                                     
                                                                                
                                                                                
                                              |
-| redis_ssl_verify         | boolean | False                                   
  | false       |                                   | If set to `true`, then 
verifies the validity of the server SSL certificate. Used when the `policy` 
attribute is set to `redis`. See 
[tcpsock:sslhandshake](https://github.com/openresty/lua-nginx-module#tcpsocksslhandshake).
                                                                                
                                                                                
      |
-| redis_database           | integer | False                                   
  | 0           | redis_database >= 0               | Selected database of the 
Redis server (for single instance operation or when using Redis cloud with a 
single entrypoint). Used when the `policy` attribute is set to `redis`.         
                                                                                
                                                                                
                                              |
-| redis_timeout            | integer | False                                   
  | 1000        | [1,...]                           | Timeout in milliseconds 
for any command submitted to the Redis server. Used when the `policy` attribute 
is set to `redis` or `redis-cluster`.                                           
                                                                                
                                                                                
                                            |
-| redis_cluster_nodes      | array   | required when `policy` is 
`redis-cluster` |             |                                   | Addresses 
of Redis cluster nodes. Used when the `policy` attribute is set to 
`redis-cluster`.                                                                
                                                                                
                                                                                
                                                                       |
-| redis_cluster_name       | string  | required when `policy` is 
`redis-cluster` |             |                                   | Name of the 
Redis cluster service nodes. Used when the `policy` attribute is set to 
`redis-cluster`.                                                                
                                                                                
                                                                                
                                                                |
-| redis_cluster_ssl        | boolean |  False | false       |                  
                 | If set to `true`, then uses SSL to connect to redis-cluster. 
Used when the `policy` attribute is set to `redis-cluster`.                     
                                                                                
                                                                                
                                                                                
       |
-| redis_cluster_ssl_verify | boolean | False | false       |                   
                | If set to `true`, then verifies the validity of the server 
SSL certificate. Used when the `policy` attribute is set to `redis-cluster`.    
                                                                                
                                                                                
                                                                                
         |
-
-## Enable Plugin
-
-You can enable the Plugin on a Route as shown below:
+| Name       | Type    | Required | Default     | Valid values      | 
Description     |
+|------------|---------|----------|-------------|-------------------|-----------------|
+| conn       | integer | True     |     | > 0   | The maximum number of 
concurrent requests allowed. Requests exceeding the configured limit and below 
`conn + burst` will be delayed.      |
+| burst      | integer | True     |     | >= 0        | The number of 
excessive concurrent requests allowed to be delayed per second. Requests 
exceeding the limit will be rejected immediately.       |
+| default_conn_delay       | number  | True     |     | > 0    | Processing 
latency allowed in seconds for concurrent requests exceeding `conn + burst`, 
which can be dynamically adjusted based on `only_use_default_delay` setting.    
       |
+| only_use_default_delay   | boolean | False    | false       |      | If 
false, delay requests proportionally based on how much they exceed the `conn` 
limit. The delay grows larger as congestion increases. For instance, with 
`conn` being `5`, `burst` being `3`, and `default_conn_delay` being `1`, 6 
concurrent requests would result in a 1-second delay, 7 requests a 2-second 
delay, 8 requests a 3-second delay, and so on, until the total limit of `conn + 
burst` is reached, beyond which requests are rejected. If true, use 
`default_conn_delay` to delay all excessive requests within the `burst` range. 
Requests beyond `conn + burst` are rejected immediately. For instance, with 
`conn` being `5`, `burst` being `3`, and `default_conn_delay` being `1`, 6, 7, 
or 8 concurrent requests are all delayed by exactly 1 second each. |

Review Comment:
   One is required or not; the other one is default value (which is lower 
cased).



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to