集群转发配置

配置简介

cluster_conf.data为集群转发配置文件。

配置描述

基础配置

配置项描述
VersionString
配置文件版本
ConfigObject
各集群的转发配置参数
Config[k]String
集群名称
Config[v]Object
集群转发配置参数

集群转发配置

注:以下配置项均位于名字空间Config[v], 在配置项名称中已省略

后端基础配置

配置项描述
BackendConf.TimeoutConnSrvInteger
连接后端的超时时间,单位是毫秒
默认值2
BackendConf.TimeoutResponseHeaderInteger
从后端读响应头的超时时间,单位是毫秒
默认值60
BackendConf.MaxIdleConnsPerHostInteger
BFE实例与每个后端的最大空闲长连接数
默认值2
BackendConf.RetryLevelInteger
请求重试级别。0:连接后端失败时,进行重试;1:连接后端失败、转发GET请求失败时均进行重试
默认值0

健康检查配置

配置项描述
CheckConf.SchemString
健康检查协议,支持HTTP和TCP
默认值 HTTP
CheckConf.UriString
健康检查请求URI (仅HTTP)
默认值 /health_check
CheckConf.HostString
健康检查请求HOST (仅HTTP)
默认值 “”
CheckConf.StatusCodeInteger
期待返回的响应状态码 (仅HTTP)
默认值 0,代表任意状态码
CheckConf.FailNumInteger
健康检查启动阈值(转发请求连续失败FailNum次后,将后端实例置为不可用状态,并启动健康检查)
默认值5
CheckConf.SuccNumInteger
健康检查成功阈值(健康检查连续成功SuccNum次后,将后端实例置为可用状态)
默认值1
CheckConf.CheckTimeoutInteger
健康检查的超时时间,单位是毫秒
默认值0(无超时)
CheckConf.CheckIntervalInteger
健康检查的间隔时间,单位是毫秒
默认值1

GSLB基础配置

配置项描述
GslbBasic.CrossRetryInteger
跨子集群最大重试次数
默认值0
GslbBasic.RetryMaxInteger
子集群内最大重试次数
默认值2
GslbBasic.BalanceModeString
负载均衡模式(WRR: 加权轮询; WLC: 加权最小连接数)
默认值WRR
GslbBasic.HashConfObject
会话保持的HASH策略配置
GslbBasic.HashConf.HashStrategyInteger
会话保持的哈希策(ClientIdOnly, ClientIpOnly, ClientIdPreferred)
默认值ClientIpOnly
GslbBasic.HashConf.HashHeaderString
会话保持的hash请求头
GslbBasic.HashConf.SessionStickyBoolean
是否开启会话保持(开启后,可以保证来源于同一个用户的请求可以发送到同一个后端)
默认值False

集群基础配置

配置项描述
ClusterBasic.TimeoutReadClientInteger
读用户请求wody的超时时间,单位为毫秒
默认值30
ClusterBasic.TimeoutWriteClientInteger
写响应的超时时间,单位为毫秒
默认值60
ClusterBasic.TimeoutReadClientAgainInteger
连接闲置超时时间,单位为毫秒
默认值60

配置示例

  1. {
  2. "Version": "20190101000000",
  3. "Config": {
  4. "cluster_example": {
  5. "BackendConf": {
  6. "TimeoutConnSrv": 2000,
  7. "TimeoutResponseHeader": 50000,
  8. "MaxIdleConnsPerHost": 0,
  9. "RetryLevel": 0
  10. },
  11. "CheckConf": {
  12. "Schem": "http",
  13. "Uri": "/healthcheck",
  14. "Host": "example.org",
  15. "StatusCode": 200,
  16. "FailNum": 10,
  17. "CheckInterval": 1000
  18. },
  19. "GslbBasic": {
  20. "CrossRetry": 0,
  21. "RetryMax": 2,
  22. "HashConf": {
  23. "HashStrategy": 0,
  24. "HashHeader": "Cookie:UID",
  25. "SessionSticky": false
  26. }
  27. },
  28. "ClusterBasic": {
  29. "TimeoutReadClient": 30000,
  30. "TimeoutWriteClient": 60000,
  31. "TimeoutReadClientAgain": 30000,
  32. }
  33. }
  34. }
  35. }