Proxy 配置
Proxy 是代理模块,主要负责消息转发、卷的分配与续租代理、缓存等,主要目的在于缓解clustermgr的服务压力。
proxy的配置是基于公有配置,以下配置说明主要针对于proxy的私有配置。
配置说明
关键配置
提示
v3.3.0版本开始支持Proxy节点卷和磁盘信息的缓存
| 配置项 | 说明 | 必需 | 
|---|---|---|
| 公有配置 | 如服务端口、运行日志以及审计日志等,参考基础服务配置章节 | 是 | 
| host | 当前host信息,用于上报clustermgr作服务发现使用,例如 http://服务ip:bind_port | 是 | 
| cluster_id | 集群编号 | 是 | 
| idc | 所在机房编号 | 是 | 
| retain_interval_s | 续租间隔周期,配合cm卷过期时间设定 | 是 | 
| init_volume_num | 初始启动向clustermgr申请卷的数量,根据集群大小设定 | 是 | 
| default_alloc_vols_num | 每次向clustermgr申请卷的个数,根据集群大小设定 | 是 | 
| mq | kafka生产者配置 | 是 | 
| diskv_base_path | 卷和磁盘信息缓存的持久化路径 | 是 | 
全部配置
{
  "heartbeat_interval_s": "向 Clustermgr 心跳的间隔周期, 心跳时间为heartbeatTicks * tickInterval",
  "heartbeat_ticks": "配合heartbeat_interval_s使用",
  "expires_ticks": "",
  "diskv_base_path": "缓存信息本地持久化路径",
  "volume_capacity": "内存卷信息容量,默认为 1 M",
  "volume_expiration_seconds": "内存卷信息过期时间,默认为0,表示不过期",
  "disk_capacity": "内存磁盘信息容量,默认为 1 M",
  "disk_expiration_seconds": "内存磁盘信息过期时间,默认为0,表示不过期",
  "clustermgr": {
    "hosts": "clustermgr的主机列表,[ `http://ip:port`,`http://ip1:port`]",
    "rpc": "参见rpc LbClient配置介绍"
  },
  "bid_alloc_nums": "每次access 向proxy申请的最大bid个数",
  "host": "当前host信息,用于上报clustermgr作服务发现使用,例如 http://服务ip:bind_port",
  "cluster_id": "集群编号",
  "idc": "所在机房编号",
  "retain_interval_s": "续租间隔周期,配合cm卷过期时间设定",
  "init_volume_num": "初始启动向clustermgr申请卷的数量,根据集群大小设定",
  "default_alloc_vols_num": "每次向clustermgr申请卷的个数,access的分配请求可以触发",
  "retain_volume_batch_num": "批量续租,根据集群的大小设定,每次向clustermgr续租的卷数量,可缓解的单次续租压力,默认400",
  "retain_batch_interval_s": "批次续租的时间间隔",
  "metric_report_interval_s": "proxy上报运行状态给普罗米修斯的时间周期",
  "mq": {
    "blob_delete_topic": "删除消息主题名",
    "shard_repair_topic": "修复消息主题名",
    "shard_repair_priority_topic": "高优修复的消息会投递至该主题,一般是某个bid在多个chunk有缺失的情况", 
    "msg_sender": {
      "kafka": "参见kafka生产者使用配置介绍"
    }
  }
}
示例配置
{
  "bind_addr": ":9600",
  "host": "http://127.0.0.1:9600",
  "idc": "z0",
  "cluster_id": 1,
  "default_alloc_vols_num" : 2,
  "init_volume_num": 4,
  "diskv_base_path": "./run/cache",
  "clustermgr": {
    "hosts": [
      "http://127.0.0.1:9998",
      "http://127.0.0.1:9999",
      "http://127.0.0.1:10000"
    ]
  },
  "mq": {
    "blob_delete_topic": "blob_delete",
    "shard_repair_topic": "shard_repair",
    "shard_repair_priority_topic": "shard_repair_prior",
    "msg_sender": {
      "broker_list": ["127.0.0.1:9092"]
    }
  },
  "log": {
    "level": "info",
    "filename": "./run/logs/proxy.log"
  }
}
在github上编辑

