• Baetyl 配置文件释义
    • 主程序配置
    • 应用配置
    • 模块配置
      • baetyl-agent 模块
      • baetyl-hub 模块
      • baetyl-function-manager 模块
    • baetyl-function-python 配置
      • baetyl-function-node 模块
      • baetyl-video-infer 模块
      • baetyl-remote-mqtt 模块
      • baetyl-timer 模块

    Baetyl 配置文件释义

    单位统一说明:

    • 大小
      • b:字节(byte)
      • k:千字节(kilobyte)
      • m:兆字节(megabyte)
      • g:吉字节(gigabyte)
    • 时间
      • s:秒
      • m:分
      • h:小时配置示例可参考baeyle项目中 example 目录下的例子。

    主程序配置

    主程序配置和应用配置是分离的,主程序配置的默认配置文件是工作目录下的etc/baetyl/conf.yml,配置释义如下:

    1. mode: 默认值:docker,服务运行模式。docker:容器模式;native:进程模式
    2. grace: 默认值:30s,服务优雅退出超时时间
    3. server: 主程序API Server配置项
    4. address: 默认值可读取环境变量:BAETYL_MASTER_API_ADDRESS,主程序 API Server 地址
    5. timeout: 默认值:30s,主程序 API Server 请求超时时间
    6. snfile: 设备序列号文件,可以作为设备指纹。如果设置,可读取环境变量:`BAETYL_HOST_SN` 获取内容
    7. docker:
    8. api_version: 默认值:1.38,客户端调用 Docker Engine 服务接口的版本
    9. logger: 日志配置项
    10. path: 默认为空,即不打印到文件;如果指定文件则输出到文件
    11. level: 默认值:info,日志等级,支持 debuginfowarn error
    12. format: 默认值:text,日志打印格式,支持 text json
    13. age:
    14. max: 默认值:15,日志文件保留的最大天数
    15. size:
    16. max: 默认值:50,日志文件大小限制,单位MB
    17. backup:
    18. max: 默认值:15,日志文件保留的最大数量

    应用配置

    应用配置的默认配置文件是工作目录下的 var/db/baetyl/application.yml,配置释义如下:

    1. version: 应用版本
    2. services: 应用的服务列表
    3. - name: [必须]服务名称,在服务列表中必须唯一
    4. image: [必须]服务入口。Docker 容器模式下表示服务镜像;Native 进程模式下表示服务运行包所在位置
    5. replica: 默认为0,服务副本数,表示启动的服务实例数。通常服务只需启动一个。函数运行时服务一般设置为0,不由主程序启动,而是由函数管理服务来动态启动实例
    6. mounts: 存储卷映射列表
    7. - name: [必须]存储卷名称,对应存储卷列表中的一个
    8. path: [必须]存储卷映射到容器中的路径
    9. readonly: 默认值:false,存储卷是否只读
    10. ports: Docker 容器模式下暴露的端口,例如:
    11. - 0.0.0.0:1883:1883
    12. - 0.0.0.0:1884:1884/tcp
    13. - 8080:8080/tcp
    14. - 9884:8884
    15. devices: Docker 容器模式下的设备映射,例如:
    16. - /dev/video0
    17. - /dev/sda:/dev/xvdc:r
    18. args: 服务实例启动参数,例如:
    19. - '-c'
    20. - 'conf/conf.yml'
    21. env: 服务实例环境变量,例如:
    22. version: v1
    23. restart: 服务实例重启策略配置项
    24. retry:
    25. max: 默认为空,表示总是重试,服务重启最大次数
    26. policy: 默认值:always,重启策略。no:不重启;always:总是重启;on-failure:服务异常退出就重启
    27. backoff:
    28. min: 默认值:1s,重启最小间隔时间
    29. max: 默认值:5m,重启最大间隔时间
    30. factor: 默认值:2,重启间隔增大倍数
    31. resources: Docker 容器模式下的服务实例资源限制配置项
    32. cpu:
    33. cpus: 服务实例可用的 CPU 比例,例如:1.5,表示可以用1.5 CPU 内核
    34. setcpus: 服务实例可用的 CPU 内核,例如:0-2,表示可以使用第02 CPU 内核;0,表示可以使用第0 CPU 内核;1,表示可以使用第1 CPU 内核
    35. memory:
    36. limit: 服务实例可用的内存,例如:500m,表示可以用500兆内存
    37. swap: 服务实例可用的交换空间,例如:1g,表示可以用1G内存
    38. pids:
    39. limit: 服务实例可创建的进程数
    40. volumes: 存储卷列表
    41. - name: [必须]存储卷名称,在存储卷列表中唯一
    42. path: [必须]存储卷在宿主机上的路径,相对于主程序的工作目录而言

    模块配置

    模块配置的默认配置文件是工作目录下的:/etc/baetyl/service.yml

    baetyl-agent 模块

    1. remote: Agent 模块对接 BIE 云端管理套件的配置项
    2. mqtt: BIE 云端 MQTT 通道配置
    3. clientid: [必须]连接云端 MQTT 通道的 Client ID,必须是云端核心设备的 ID
    4. address: [必须]云端 MQTT 通道的的地址,必须使用 SSL Endpoint
    5. username: [必须]云端 MQTT 通道连接的用户名,必须是云端核心设备的用户名
    6. ca: [必须]云端 MQTT 通道连接的CA证书路径
    7. key: [必须]云端 MQTT 通道连接的客户端私钥路径
    8. cert: [必须]云端 MQTT 通道连接的客户端公钥路径
    9. timeout: 默认值:30s,云端 MQTT 通道连接超时时间
    10. interval: 默认值:1m,云端 MQTT 通道重连的最大间隔时间,从500微秒翻倍增加到最大值
    11. keepalive: 默认值:10m,云端 MQTT 通道连接的保持时间
    12. cleansession: 默认值:false,云端 MQTT 通道连接的的是否保持 Session
    13. validatesubs: 默认值:false,云端 MQTT 通道连接是否检查订阅结果。 如果为 true 发现订阅失败报错退出
    14. buffersize: 默认值:10,发送消息内存队列大小,异常退出会导致消息丢失
    15. http: BIE 云端 HTTP 通道配置
    16. address: 会自动根据 MQTT 通道的地址推断云端 HTTPS 通道地址,无需配置
    17. timeout: 默认值:30s,云端HTTPS通道连接超时时间
    18. report: Agent 上报云端配置
    19. url: 上报的URL,无需配置
    20. topic: 上报主题模板,无需配置
    21. interval: 默认值:20s,上报间隔时间
    22. desire: Agent 接收云端下发配置
    23. topic: 下发主题模板,无需配置

    baetyl-hub 模块

    1. listen: [必须]监听地址,例如:
    2. - tcp://0.0.0.0:1883
    3. - ssl://0.0.0.0:1884
    4. - ws://:8080/mqtt
    5. - wss://:8884/mqtt
    6. certificate: SSL/TLS 证书认证配置项,如果启用 ssl wss 必须配置
    7. ca: Server CA 证书路径
    8. key: Server 的服务端私钥路径
    9. cert: Server 的服务端公钥路径
    10. principals: 接入权限配置项,如果不配置则 Client 无法接入,支持账号密码和证书认证
    11. - username: Client 接入 Hub 用户名
    12. password: Client 接入 Hub 密码
    13. permissions:
    14. - action: 操作权限。pub:发布权限;sub:订阅权限
    15. permit: 操作权限允许的主题列表,支持+和#匹配符
    16. - username: Client 接入 Hub 用户名,使用证书双向认证可不配置密码
    17. permissions:
    18. - action: 操作权限。pub:发布权限;sub:订阅权限
    19. permit: 操作权限允许的主题列表,支持+和#匹配符
    20. subscriptions: 主题路由配置项
    21. - source:
    22. topic: 订阅的主题
    23. qos: 订阅的 QoS
    24. target:
    25. topic: 发布的主题
    26. qos: 发布的 QoS
    27. message: 消息相关的配置项
    28. length:
    29. max: 默认值:32k;最大值:268,435,455字节(约256MB),可允许传输的最大消息长度
    30. ingress: 消息接收配置项
    31. qos0:
    32. buffer:
    33. size: 默认值:10000,可缓存到内存中的 QoS 0的消息数,增大缓存可提高消息接收的性能,若设备掉电,则会直接丢弃 QoS 0 的消息
    34. qos1:
    35. buffer:
    36. size: 默认值:100,等待持久化的 QoS 1 的消息缓存大小,增大缓存可提高消息接收的性能,但潜在的风险是 Hub 异常退出(比如设备掉电)会丢失缓存的消息,不回复确认(puback)。Hub 正常退出会等待缓存的消息处理完,不会丢失数据。
    37. batch:
    38. max: 默认值:50,批量写QoS1的消息到数据库(持久化)的最大条数,消息持久化成功后会回复确认(ack
    39. cleanup:
    40. retention: 默认值:48hQoS 1 的消息保存在数据库中的时间,超过该时间的消息会在清理时物理删除
    41. interval: 默认值:1mQoS 1 的消息清理时间间隔
    42. egress: 消息发送配置项
    43. qos0:
    44. buffer:
    45. size: 默认值:10000,内存缓存中的待发送的 QoS 0 的消息数,若设备掉电会直接丢弃消息;缓存满后,新推送的消息直接丢弃
    46. qos1:
    47. buffer:
    48. size: 默认值:100QoS 1 的消息发送后,未确认(ack)的消息缓存大小,缓存满后,不再读取新消息,一直等待缓存中的消息被确认。QoS 1 的消息发送给客户端成功后等待客户端确认(puback),如果客户端在规定时间内没有回复确认,消息会一直重发,直到客户端回复确认或者 session 关闭
    49. batch:
    50. max: 默认值:50,批量从数据库读取消息的最大条数
    51. retry:
    52. interval: 默认值:20s,消息重发时间间隔
    53. offset: 消息序列号持久化相关配置
    54. buffer:
    55. size: 默认值:10000,被确认(ack)的消息的序列号的缓存队列大小。比如当前批量发送了QoS1且序列号为123的三条消息给客户端,客户端确认了序列号13的消息,此时序列号1会入列并持久化,序列号3虽然已经确认,但是还是得等待序列号2被确认入列后才能入列。该设计可保证Hub异常重启后仍能从持久化的序列号恢复消息处理,保证消息不丢,但是会出现消息重发,也因此暂不支持QoS2的消息
    56. batch:
    57. max: 默认值:100,批量写消息序列号到数据库的最大条数
    58. logger: 日志配置项
    59. path: 默认为空,即不打印到文件;如果指定文件则输出到文件
    60. level: 默认值:info,日志等级,支持debuginfowarn error
    61. format: 默认值:text,日志打印格式,支持 text json
    62. age:
    63. max: 默认值:15,日志文件保留的最大天数
    64. size:
    65. max: 默认值:50,日志文件大小限制,单位MB
    66. backup:
    67. max: 默认值:15,日志文件保留的最大数量
    68. status: Hub 状态配置项
    69. logging:
    70. enable: 默认值:false,是否打印Hub的状态信息
    71. interval: 默认值:1m,状态信息打印时间间隔
    72. storage: 数据库存储配置项
    73. dir: 默认值:`var/db/baetyl/data`,数据库存储目录
    74. shutdown: Hub 退出配置项
    75. timeout: 默认值:10mHub退出超时时间

    baetyl-function-manager 模块

    1. hub:
    2. clientid: Client 连接 Hub Client IDcleansession false 则不允许为空
    3. address: [必须] Client 连接Hub的地址
    4. username: [必须] Client 连接Hub的用户名
    5. password: 如果采用账号密码,必须填 Client 连接Hub的密码,否者不用填写
    6. ca: 如果采用证书双向认证,必须填 Client 连接HubCA证书路径
    7. key: 如果采用证书双向认证,必须填 Client 连接Hub的客户端私钥路径
    8. cert: 如果采用证书双向认证,必须填 Client 连接Hub的客户端公钥路径
    9. timeout: 默认值:30sClient 连接 Hub 的超时时间
    10. interval: 默认值:1mClient 连接 Hub 的重连最大间隔时间,从500微秒翻倍增加到最大值
    11. keepalive: 默认值:10mClient 连接Hub的保持连接时间
    12. cleansession: 默认值:falseClient 连接 Hub 的是否保持 Session
    13. validatesubs: 默认值:falseClient 是否检查 Hub 订阅结果,如果是发现订阅失败报错退出
    14. buffersize: 默认值:10Client 发送消息给 Hub 的内存队列大小,异常退出会导致消息丢失,恢复后 QoS 1的消息依赖 Hub 重发
    15. rules: 路由规则配置项
    16. - clientid: Client 连接 Hub Client ID
    17. subscribe:
    18. topic: [必须] Client Hub 订阅的消息主题
    19. qos: 默认值:0Client Hub 订阅的消息 QoS
    20. function:
    21. name: [必须]处理消息的函数名
    22. publish:
    23. topic: [必须]计算结果发布到 Hub 的主题
    24. qos: 默认值:0,计算结果发布 Hub QoS
    25. retry:
    26. max: 默认值:3,最大重试次数
    27. functions: 函数列表
    28. - name: [必须]函数名称,列表内唯一
    29. service: [必须]提供函数实例的服务名称
    30. instance: 实例配置项
    31. min: 默认值:0,最小值:0,最大值:100,最少实例数
    32. max: 默认值:1,最小值:1,最大值:100,最大实例数
    33. idletime: 默认值:10m,实例最大空闲时间
    34. evicttime: 默认值:1m,实例检查周期,如果发现实例空闲超过就销毁
    35. message:
    36. length:
    37. max: 默认值:4m 函数实例允许接收和发送的最大消息长度
    38. backoff:
    39. max: 默认值:1mClient 连接函数实例最大重连间隔
    40. timeout: 默认值:30sClient 连接函数实例超时时间
    41. logger: 日志配置项
    42. path: 默认为空,即不打印到文件;如果指定文件则输出到文件
    43. level: 默认值:info,日志等级,支持debuginfowarn error
    44. format: 默认值:text,日志打印格式,支持 text json
    45. age:
    46. max: 默认值:15,日志文件保留的最大天数
    47. size:
    48. max: 默认值:50,日志文件大小限制,单位MB
    49. backup:
    50. max: 默认值:15,日志文件保留的最大数量

    baetyl-function-python 配置

    1. # 两个模块的配置方式相同,可参考下面一份配置
    2. server: 作为 GRPC Server 独立启动时配置;托管给 baetyl-function-manager 无需配置
    3. address: GRPC Server 监听的地址,<host>:<port>
    4. workers:
    5. max: 默认 CPU 核数乘以5,线程池最大容量
    6. concurrent:
    7. max: 默认不限制,最大并发连接数
    8. message:
    9. length:
    10. max: 默认值:4m 函数实例允许接收和发送的最大消息长度
    11. ca: Server CA 证书路径
    12. key: Server 的服务端私钥路径
    13. cert: Server 的服务端公钥路径
    14. functions: 函数列表
    15. - name: [必须] 函数名称,列表内唯一
    16. handler: [必须] 函数包和处理函数名,比如:'sayhi.handler'
    17. codedir: [必须] Python 代码所在路径
    18. logger: 日志配置项
    19. path: 默认为空,即不打印到文件;如果指定文件则输出到文件
    20. level: 默认值:info,日志等级,支持 debuginfowarn error
    21. age:
    22. max: 默认值:15,日志文件保留的最大天数
    23. backup:
    24. max: 默认值:15,日志文件保留的最大数量

    baetyl-function-node 模块

    1. server: 作为 GRPC Server 独立启动时配置;托管给 baetyl-function-manager 无需配置
    2. address: GRPC Server 监听的地址,<host>:<port>
    3. message:
    4. length:
    5. max: 默认值:4m 函数实例允许接收和发送的最大消息长度
    6. ca: Server CA 证书路径
    7. key: Server 的服务端私钥路径
    8. cert: Server 的服务端公钥路径
    9. functions: 函数列表
    10. - name: [必须] 函数名称,列表内唯一
    11. handler: [必须] 函数包和处理函数名,比如:'sayjs.handler'
    12. codedir: [必须] Node 代码所在路径
    13. logger: 日志配置项
    14. path: 默认为空,即不打印到文件;如果指定文件则输出到文件
    15. level: 默认值:info,日志等级,支持 debuginfowarn error
    16. backupCount:
    17. max: 默认值:15,日志文件保留的最大数量

    baetyl-video-infer 模块

    1. hub:
    2. clientid: Client 连接 Hub Client IDcleansession false 则不允许为空
    3. address: [必须] Client 连接Hub的地址
    4. username: [必须] Client 连接Hub的用户名
    5. password: 如果采用账号密码,必须填 Client 连接Hub的密码,否者不用填写
    6. ca: 如果采用证书双向认证,必须填 Client 连接HubCA证书路径
    7. key: 如果采用证书双向认证,必须填 Client 连接Hub的客户端私钥路径
    8. cert: 如果采用证书双向认证,必须填 Client 连接Hub的客户端公钥路径
    9. timeout: 默认值:30sClient 连接 Hub 的超时时间
    10. interval: 默认值:1mClient 连接 Hub 的重连最大间隔时间,从500微秒翻倍增加到最大值
    11. keepalive: 默认值:10mClient 连接Hub的保持连接时间
    12. cleansession: 默认值:falseClient 连接 Hub 的是否保持 Session
    13. validatesubs: 默认值:falseClient 是否检查 Hub 订阅结果,如果是发现订阅失败报错退出
    14. buffersize: 默认值:10Client 发送消息给 Hub 的内存队列大小,异常退出会导致消息丢失,恢复后 QoS 1的消息依赖 Hub 重发
    15. video:
    16. uri: [必须] 摄像头地址或视频文件路径,摄像头可支持 IP 网络摄像头和 USB 摄像头
    17. # 对于 IP 网络摄像头,通用配置方式为:`rtsp://<username>:<password>@<ip>:<port>/Streaming/channels/<stream_number>/`
    18. # `<username>` 和 `<password>` 代表摄像头登录、认证口令
    19. # `<ip>` 代表 IP 网络摄像头的 IP 地址
    20. # `<port>` 代表 RTSP 协议的端口,默认为 554
    21. # `<stream_number>` 代表码流通道编号。如果为 1,则表示抓取的是主码流;如果为 2,则表示抓取的是次码流
    22. # 对于 USB 摄像头,其配置内容为挂载的 USB 编号,如 "0" 代表设备 `/dev/video0`,另外还需要将设备 `/dev/video0` 映射进容器
    23. # 对于视频文件,其配置内容为视频文件的路径,需要将视频文件以(自定义)存储卷方式挂载到 video infer 服务
    24. limit:
    25. fps: [必须] 表示每秒能够处理的最大帧量。如果摄像头帧率为 N,每秒最多能够处理的帧量为 M,则 Ceil(N/M) - 1 帧将会被跳过
    26. infer:
    27. model: [必须] 模型文件路径。需要了解更多内容可参考:https://docs.opencv.org/4.1.1/d6/d0f/group__dnn.html#ga3b34fe7a29494a6a4295c169a7d32422.
    28. config: [必须] 模型文件的配置文件路径。需要了解更多内容可参考:https://docs.opencv.org/4.1.1/d6/d0f/group__dnn.html#ga3b34fe7a29494a6a4295c169a7d32422.
    29. backend: [可选] 模型推断后处理加速配置项,可支持的配置项为:halideopenvinoopencvvulkandefault。需要了解更多内容可参考:https://docs.opencv.org/4.1.1/d6/d0f/group__dnn.html#ga186f7d9bfacac8b0ff2e26e2eab02625
    30. device: [可选] 表示用何种硬件对模型进行推断,可选择的配置项为 cpu(默认),fp32fp16vpuvulkanfpga。需要了解更多内容可参考:https://docs.opencv.org/4.1.1/d6/d0f/group__dnn.html#ga709af7692ba29788182cf573531b0ff5
    31. process:
    32. before: 从图像创建 4 blob。(可选)从中心调整大小和裁剪图像,减去平均值,按比例因子缩放值,交换蓝色和红色通道。需要了解更多内容可参考:https://docs.opencv.org/4.1.1/d6/d0f/group__dnn.html#ga29f34df9376379a603acd8df581ac8d7
    33. scale: multiplier for image values.
    34. swaprb: 标志位,用于转换图像的第 13 通道,即将常用的 RGB 顺序调整为 BGR
    35. width: 输出图像的宽度
    36. hight: 输出图像的高度
    37. mean: 从通道中减去平均值的标量。如果图像具有 BGR 排序并且 swaprb true,则值的排列顺序应为(均值 R,均值 G,均值 B
    38. v1: 代表 RGB 中的蓝色分量,与下面的 v2v3v4 一起常被用于传递像素值
    39. v2: 代表 RGB 中的绿色分量
    40. v3: 代表 RGB 中的红色分量
    41. v4: 代表 Alpha 透明色分量
    42. crop: 标志位,表明图像在进行 resize 操作后是否会被裁剪
    43. after:
    44. function:
    45. name: [必须] 处理模型推断结果的函数名称
    46. functions:
    47. - name: [必须] 函数名称,列表内唯一
    48. address: function manager 服务地址,通用配置方式是 <host>:<port>,如 `function-manager:50051`
    49. message:
    50. length:
    51. max: 默认值:4m 函数实例允许接收和发送的最大消息长度
    52. backoff:
    53. max: 默认值:1mClient 连接函数实例最大重连间隔
    54. timeout: 默认值:30sClient 连接函数实例超时时间
    55. logger: 日志配置项
    56. path: 默认为空,即不打印到文件;如果指定文件则输出到文件
    57. level: 默认值:info,日志等级,支持 debuginfowarn error
    58. format: 默认值:text,日志打印格式,支持 text json
    59. age:
    60. max: 默认值:15,日志文件保留的最大天数
    61. size:
    62. max: 默认值:50,日志文件大小限制,单位 MB
    63. backup:
    64. max: 默认值:15,日志文件保留的最大数量

    baetyl-remote-mqtt 模块

    1. hub:
    2. clientid: Client 连接 Hub Client IDcleansession false 则不允许为空
    3. address: [必须] Client 连接 Hub 的地址
    4. username: [必须] Client 连接 Hub 的用户名
    5. password: 如果采用账号密码,必须填 Client 连接 Hub 的密码,否者不用填写
    6. ca: 如果采用证书双向认证,必须填 Client 连接 Hub CA 证书路径
    7. key: 如果采用证书双向认证,必须填 Client 连接 Hub 的客户端私钥路径
    8. cert: 如果采用证书双向认证,必须填 Client 连接 Hub 的客户端公钥路径
    9. timeout: 默认值:30sClient 连接 Hub 的超时时间
    10. interval: 默认值:1mClient 连接 Hub 的重连最大间隔时间,从500微秒翻倍增加到最大值
    11. keepalive: 默认值:10mClient 连接 Hub 的保持连接时间
    12. cleansession: 默认值:falseClient 连接 Hub 的是否保持 Session
    13. validatesubs: 默认值:falseClient 是否检查 Hub 订阅结果,如果是发现订阅失败报错退出
    14. buffersize: 默认值:10Client 发送消息给 Hub 的内存队列大小,异常退出会导致消息丢失,恢复后 QoS 1的消息依赖 Hub 重发
    15. rules: 路由规则列表,向 Hub 订阅消息发送给 Remote,或反之
    16. - hub:
    17. clientid: Client 连接 Hub Client ID
    18. subscriptions: Client Hub 订阅的消息,例如
    19. - topic: say
    20. qos: 1
    21. - topic: hi
    22. qos: 0
    23. remote:
    24. name: [必须]指定Remote名称,必须是Remote列表中的一个
    25. clientid: Client 连接 Remote Client ID
    26. subscriptions: Client Remote 订阅的消息,例如
    27. - topic: remote/say
    28. qos: 0
    29. - topic: remote/hi
    30. qos: 0
    31. remotes: Remote列表
    32. - name: [必须] Remote名称,列表内必须唯一
    33. clientid: Client 连接 Remote Client ID
    34. address: [必须] Client 连接 Remote的地址
    35. username: Client 连接Remote的用户名
    36. password: 如果采用账号密码,必须填 Client 连接 Remote 的密码,否者不用填写
    37. ca: 如果采用证书双向认证,必须填 Client 连接 Remote CA 证书路径
    38. key: 如果采用证书双向认证,必须填 Client 连接 Remote 的客户端私钥路径
    39. cert: 如果采用证书双向认证,必须填 Client 连接 Remote 的客户端公钥路径
    40. timeout: 默认值:30sClient 连接 Remote 的超时时间
    41. interval: 默认值:1mClient 连接 Remote 的重连最大间隔时间,从500微秒翻倍增加到最大值
    42. keepalive: 默认值:10mClient 连接 Remote 的保持连接时间
    43. cleansession: 默认值:falseClient 连接 Remote 的是否保持 Session
    44. validatesubs: 默认值:falseClient 是否检查Remote订阅结果,如果是发现订阅失败报错退出
    45. buffersize: 默认值:10Client 发送消息给 Remote 的内存队列大小,异常退出会导致消息丢失,恢复后 QoS 1的消息依赖 Remote 重发
    46. logger: 日志配置项
    47. path: 默认为空,即不打印到文件;如果指定文件则输出到文件
    48. level: 默认值:info,日志等级,支持 debuginfowarn error
    49. format: 默认值:text,日志打印格式,支持 text json
    50. age:
    51. max: 默认值:15,日志文件保留的最大天数
    52. size:
    53. max: 默认值:50,日志文件大小限制,单位 MB
    54. backup:
    55. max: 默认值:15,日志文件保留的最大数量

    baetyl-timer 模块

    1. hub:
    2. clientid: Client 连接 Hub Client IDcleansession false 则不允许为空
    3. address: [必须] Client 连接 Hub 的地址
    4. username: [必须] Client 连接 Hub 的用户名
    5. password: 如果采用账号密码,必须填 Client 连接 Hub 的密码,否者不用填写
    6. ca: 如果采用证书双向认证,必须填 Client 连接 Hub CA 证书路径
    7. key: 如果采用证书双向认证,必须填 Client 连接 Hub 的客户端私钥路径
    8. cert: 如果采用证书双向认证,必须填 Client 连接 Hub 的客户端公钥路径
    9. timeout: 默认值:30sClient 连接 Hub 的超时时间
    10. interval: 默认值:1mClient 连接 Hub 的重连最大间隔时间,从500微秒翻倍增加到最大值
    11. keepalive: 默认值:10mClient 连接 Hub 的保持连接时间
    12. cleansession: 默认值:falseClient 连接 Hub 的是否保持 Session
    13. validatesubs: 默认值:falseClient 是否检查 Hub 订阅结果,如果是发现订阅失败报错退出
    14. buffersize: 默认值:10Client 发送消息给 Hub 的内存队列大小,异常退出会导致消息丢失,恢复后 QoS 1的消息依赖 Hub 重发
    15. timer: timer 相关属性
    16. interval: timer 模块定时间隔
    17. publish:
    18. topic: 定时结果发布到 Hub 的主题
    19. payload: 负载数据,map 数据结构,例如:
    20. id: 1
    21. logger: 日志配置项
    22. path: 默认为空,即不打印到文件;如果指定文件则输出到文件
    23. level: 默认值:info,日志等级,支持 debuginfowarn error
    24. format: 默认值:text,日志打印格式,支持 text json
    25. age:
    26. max: 默认值:15,日志文件保留的最大天数
    27. size:
    28. max: 默认值:50,日志文件大小限制,单位 MB
    29. backup:
    30. max: 默认值:15,日志文件保留的最大数量