Erasure Code RPC Configuration
Configuration Instructions
Single-point Configuration Client
{
"client_timeout_ms": "Request timeout time",
"body_bandwidth_mbps": "Read body bandwidth, default is 1MBps",
"body_base_timeout_ms": "Read body benchmark time, so the maximum time to read body is body_base_timeout_ms+size/body_bandwidth_mbps(converted to ms)",
"transport_config": {
"...": "See the detailed configuration of the golang http library transport. In general, it can be ignored, and the default configuration is provided in the code"
}
}
Default transport configuration
Note
This default configuration is supported starting from version v3.2.1.
The following default configuration is only enabled when all items in transport_config
are default values.
{
"max_conns_per_host": 10,
"max_idle_conns": 1000,
"max_idle_conns_per_host": 10,
"idle_conn_timeout_ms": 10000
}
Multi-point Configuration LbClient
The Lb version mainly implements load balancing, failure node removal and reuse of multiple nodes. Its configuration is based on single-point configuration, with the following additional configuration items.
{
"hosts": "List of destination hosts for requests",
"backup_hosts": "List of backup destination hosts. When all hosts are unavailable, they will be used",
"host_try_times": "Number of retries for each node failure, used in conjunction with node removal. When a target host fails continuously for host_try_times times, if the failure removal mechanism is enabled, the node will be removed from the available list",
"try_times": "Number of retries for each request failure",
"fail_retry_interval_s": "Used in conjunction with node removal to implement the time interval for failed nodes to be reused. If this value is less than or equal to 0, no removal will be performed. The default value is -1",
"MaxFailsPeriodS": "Time interval for recording consecutive failures. For example, if the current node has failed N times, when the time interval between the N+1th failure and the Nth failure is less than this value, the node will be recorded as the N+1th failure. Otherwise, it will be recorded as the first failure"
}
Edit on GitHub