Servers
The server object runs to listen for incoming connections from database clients. It supports TLS termination, if enabled. The server object has the following parameters:
Configuration parameters
Name | Type | Default value | Possible values | Description |
---|---|---|---|---|
network | string | tcp | tcp, unix | The network protocol to use |
address | string | 0.0.0.0:15432 | Valid host:port | The address to listen on |
enableTicker | boolean | False | True, False | Whether to enable the ticker or not |
tickInterval | string | 5s | Valid duration | The interval of the ticker |
enableTLS | boolean | False | True, False | Whether to enable TLS or not |
certFile | string | Â | Valid path | The path to the TLS certificate |
keyFile | string | Â | Valid path | The path to the TLS key |
handshakeTimeout | string | 5s | Valid duration | The timeout for TLS handshake |
loadBalancer | object | Â | Â | Configuration for the load balancer |
loadBalancer.strategy | string | ROUND_ROBIN | ROUND_ROBIN, RANDOM, WEIGHTED_ROUND_ROBIN | The strategy used to distribute connections |
loadBalancer.consistentHash | object | Â | Â | Configuration for consistent hash-based load balancing |
loadBalancer.consistentHash.useSourceIp | boolean | False | True, False | Whether to use the source IP for consistent hashing |
loadBalancer.loadBalancingRules | array | Â | List of rules | Optional configuration for strategies that support rules (e.g., WEIGHTED_ROUND_ROBIN) |
loadBalancingRules.condition | string | DEFAULT | DEFAULT | Condition for the load balancing rule (currently, only “DEFAULT” is supported) |
loadBalancingRules.distribution | array | Â | List of proxyName and weight pairs | Defines the weight distribution for proxies in the load balancing strategy |
distribution.proxyName | string |  | Valid proxy name | Name of the proxy server (e.g., “writes”, “reads”) |
distribution.weight | integer | Â | Positive integer | Weight assigned to a proxy in the load balancing distribution |
Example Configuration
servers:
default:
network: tcp
address: 0.0.0.0:15432
loadBalancer:
strategy: ROUND_ROBIN # ROUND_ROBIN, RANDOM, WEIGHTED_ROUND_ROBIN
consistentHash:
useSourceIp: true
# Optional configuration for strategies that support rules (e.g., WEIGHTED_ROUND_ROBIN)
# loadBalancingRules:
# - condition: "DEFAULT" # Currently, only the "DEFAULT" condition is supported
# distribution:
# - proxyName: "writes"
# weight: 70
# - proxyName: "reads"
# weight: 30
enableTicker: False
tickInterval: 5s # duration
enableTLS: False
certFile: ""
keyFile: ""
handshakeTimeout: 5s # duration