• 简介
  • 配置
    • 基础配置
    • 集群转发配置 ClusterConf
      • 后端基础配置 BackendConf
      • 健康检查配置 CheckConf
      • GSLB基础配置 GslbBasic
      • 集群基础配置 ClusterBasic
  • 示例

    简介

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

    配置

    基础配置

    配置项 类型 描述
    Version String 配置文件版本
    Config Map<String, ClusterConf> 集群转发配置参数,key 是集群名称, value是集群转发配置参数

    集群转发配置 ClusterConf

    后端基础配置 BackendConf

    配置项 类型 描述
    TimeoutConnSrv Int 连接后端的超时时间,单位是毫秒
    TimeoutResponseHeader Int 从后端读响应头的超时时间,单位是毫秒
    MaxIdleConnsPerHost Int BFE实例与每个后端的最大空闲长连接数
    RetryLevel Int 请求重试级别。0:连接后端失败时,进行重试;1:连接后端失败、转发GET请求失败时均进行重试

    健康检查配置 CheckConf

    配置项 类型 描述
    Schem String 健康检查协议,支持HTTP和TCP
    Uri String 健康检查请求URI (仅HTTP)
    Host String 健康检查请求HOST (仅HTTP)
    StatusCode Int 期待返回的响应状态码 (仅HTTP)
    FailNum Int 健康检查启动阈值F(转发请求连续失败F次后,将后端实例置为不可用状态,并启动健康检查)
    SuccNum Int 健康检查成功阈值S(健康检查连续成功S次后,将后端实例置为可用状态)
    CheckTimeout Int 健康检查的超时时间,单位是毫秒
    CheckInterval Int 健康检查的间隔时间,单位是毫秒

    GSLB基础配置 GslbBasic

    配置项 类型 描述
    CrossRetry Int 跨子集群最大重试次数
    RetryMax Int 子集群内最大重试次数
    BalanceMode String 负载均衡模式,默认为WRR
    HashConf Struct 会话保持的HASH策略配置- HashStrategy: 会话保持的哈希策略。例如:ClientIdOnly, ClientIpOnly, ClientIdPreferred- HashHeader: 会话保持的hash请求头- SessionSticky: 是否开启会话保持 (开启后,可以保证来源于同一个用户的请求可以发送到同一个后端)

    集群基础配置 ClusterBasic

    配置项 类型 描述
    TimeoutReadClient Int 读用户请求wody的超时时间,单位为毫秒
    TimeoutWriteClient Int 写响应的超时时间,单位为毫秒
    TimeoutReadClientAgain Int 连接闲置超时时间,单位为毫秒

    示例

    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. }