配置说明

October 20, 2021 · View on GitHub

  • 配置 使用 toml 数据格式
  • 配置分为3部分:
    • Logger:日志相关,必填,将按照配置初始化文件日志对象
    • Basic:基础配置,为Reloader配置的缺省配置,当Reloader没有配置时,会使用Basic配置作为Reloader配置。建议配置Basic配置,Reloader配置只在需要的时候进行个性化配置
    • Reloaders: reload列表。

1 Logger配置

Key数据类型含义必填默认值说明
LogDirstring日志文件目录Y-
LogNamestring日志文件名Y-
LogLevelstring日志等价Y-可选: DEBUG TRACE INFO WARNING ERROR CRITICAL
RotateWhenstring日志文件切割策略Y-可选:M:每分钟 H:每小时 D:每天 MIDNIGHT:午夜切割
BackupCountint日志文件保留格式Y-
Formatstring日志消息格式Y-
StdOutbool日志内容是否控制台输出N-

2 Basic配置

Key数据类型含义必填默认值说明
BFEClusterstring当前所在的BFE集群名Y
BFEConfDirstringbfe配置目录位置N/home/work/bfe/conf
BFEMonitorPortintBFE监控端口号,配置加载时将调用N8421
BFEReloadTimeoutMsintBFE reload 超时设置N1500
ReloadIntervalMsint拉取时间间隔N10000
ConfServerstringAPIServer服务器,用来拉取配置Y-
ConfTaskHeadersmap<string>string配置请求Header, Api Server 当前会对请求鉴权,需要设置 Authorization 头, 通过Dashboard获取TokenN-
ConfTaskTimeoutMsint配置拉取超时Y2500
ExtraFileServerstring静态文件服务器,用来拉取静态文件Y-
ExtraFileTaskHeadersmap<string>string静态文件请求Header, Api Server 当前会对请求鉴权,需要设置 Authorization 头, 通过Dashboard获取TokenN-
ExtraFileTaskTimeoutMsint静态文件拉取超时Y2500

3 Reloaders配置

Reloaders 是个 map<string>Reloader 数据类型,key为名字,value为详细配置。

每个Reloader配置为:

Key数据类型含义必填默认值说明
ConfDirstring模块配置本地目录N同模块名模块的配置将保留在 {BFEConfDir}/{ConfDir}/下
BFEReloadAPIstringbfe reload APIY-数据面reload
BFEReloadTimeoutMsN同 Basic.BFEReloadTimeoutMs,若未设置使用 Basic 设置
ReloadIntervalMsN同 Basic.ReloadIntervalMs,若未设置使用 Basic 设置
CopyFiles[]string保留的文件列表N-有些配置当前不会通过api server 的配置导出的接口更新,但是bfe冷启动时必须读取。对于这些文件,需要从默认文件夹copy到最新的配置文件夹当做初始化配置。
NormalFileTasks[]NormalFileTaskN普通配置文件任务列表。详细说明见后续说明
MultiKeyFileTasks[]MultiKeyFileTaskN多个Key配置文件任务列表。详细说明见后续说明
ExtraFileTasks[]ExtraFileTaskN有扩展文件的配置文件任务列表。详细说明见后续说明

文件任务的定义如下:

  • NormalFileTask: 一个API对应一个本地配置文件的形式。
  • MultiKeyFileTask: 一个API对应多个本地配置文件的形式。其中API返回多个配置文件的内容,每个key都对应一个本地配置文件。
  • ExtraFileTask: 和 NormalFileTask类似。但是配置文件内容需要再解析,得到其依赖的扩展文件。扩展文件也需要下载到本地文件。

一个reloader可以定义多种类型的任务,每种类型的任务格式也可以是多个的。 一个reloader必须至少定义一个任务。

3.1 Reloader.NormalFileTasks

Key数据类型含义必填默认值说明
ConfAPIstringAPIServer 配置导出的 APIY-
ConfFileNamestring文件本地保存的文件名Y-最终文件名为: {BFEConfDir}/{ConfDir}_{version}/{ConfFileName}
ConfServerN同 Basic.ConfServer,若未设置使用 Basic 设置
ConfTaskHeadersN同 Basic.ConfTaskHeaders,若未设置使用 Basic 设置
ConfTaskTimeoutMsN同 Basic.ConfTaskTimeoutMs,若未设置使用 Basic 设置

3.2 Reloader.MultiKeyFileTasks

Key数据类型含义必填默认值说明
ConfAPIstringAPIServer 配置导出的 APIY-
Key2ConfFilemap<string>string配置对象和文件本地保存的文件名的映射Y-
ConfServerN同 Basic.ConfServer,若未设置使用 Basic 设置
ConfTaskHeadersN同 Basic.ConfTaskHeaders,若未设置使用 Basic 设置
ConfTaskTimeoutMsN同 Basic.ConfTaskTimeoutMs,若未设置使用 Basic 设置

3.3 Reloader.ExtraFileTasks

Key数据类型含义必填默认值说明
ExtraFileJSONPaths[]string扩展文件名的JsonPathN-JsonPath语法, 对于有附件的配置,需要配置
ConfAPIstringAPIServer 配置导出的 APIY-
ConfFileNamestring文件本地保存的文件名Y-最终文件名为: {BFEConfDir}/{ConfDir}_{version}/{ConfFileName}
ConfServerN同 Basic.ConfServer,若未设置使用 Basic 设置
ConfTaskHeadersN同 Basic.ConfTaskHeaders,若未设置使用 Basic 设置
ConfTaskTimeoutMsN同 Basic.ConfTaskTimeoutMs,若未设置使用 Basic 设置
ExtraFileServerN同 Basic.ExtraFileServer ,若未设置使用 Basic 设置
ExtraFileTaskHeadersN同 Basic.ExtraFileTaskHeaders ,若未设置使用 Basic 设置
ExtraFileTaskTimeoutMsN同 Basic.ExtraFileTaskTimeoutMs ,若未设置使用 Basic 设置