baetyl-broker

智能边缘 BIE

  • 产品描述
    • 名词解释
    • 使用限制
    • 产品概述
    • 产品优势
    • 应用场景
  • 配置文件说明
    • baetyl-rule
    • baetyl-remote-object
    • baetyl-function
    • baetyl-broker
  • 快速入门
    • 融合模式节点安装
    • 快速入门指南
    • 离线安装k3s+docker
    • 进程模式节点安装
      • 在linux上安装
      • 在windows上安装
  • 典型实践
    • OPC-UA使用
    • 使用BIE函数计算调用文心一言
    • 边缘规则引擎实战
      • 集成Kuiper流式计算引擎
      • 边缘规则实例
    • 将AI中台模型部署至边缘节点
      • 获取AI中台模型部署包进行应用部署
      • 部署模型SDK至Atlas200DK
      • 模型中心1.0
        • 通过AI中台转换模型并下发至边缘
        • 通过AI中台直接将模型下发至边缘
      • 模型中心2.0
        • 将物体检测模型部署至边缘
        • 将图像分类模型部署至边缘
    • 部署PaddleServing模型
      • 使用BIE下发PaddleOCR模型
      • 制作GPU版本Paddle Serving推理镜像
      • 通过BIE部署Paddle Serving
    • Modbus协议采集温湿度传感器
      • 连接边缘baetyl-broker
      • 使用内置modbus驱动采集数据并进行边缘函数计算
      • 数据从baetyl-broker上传至IoTCore
    • 部署EasyDL模型SDK
      • 部署EasyDL烟火检测模型至ARM64节点
    • 部署EasyEdge模型SDK
      • 进程模式下发python SDK模型
      • 使用EasyEdge模型转换获取边缘模型
      • 部署模型SDK至Windows设备
      • 部署模型SDK至Intel Movidius设备
      • 部署模型SDK至Jetson Xavier
    • 部署自定义容器镜像模型
      • 部署mnist手写数字识别模型
      • 部署物体检测模型
    • video-infer实现边缘视频AI推断
      • 使用Movidius VPU加速边缘视频推断
      • 使用CPU实现边缘视频推断
  • 操作指南
    • 主子用户鉴权
    • 设备管理
      • 设备模拟器
      • 子设备数据云边交互方式
      • 进程模式软网关设备接入指南
      • 子设备数据云边交互方式-v2
      • 视频流管理
        • IPC子设备和驱动
        • 边缘转发RTSP视频流
      • 设备接入
        • 设备模型管理
        • 接入模板
        • 设备管理
        • 子设备绑定
      • 驱动管理
        • 进程模式软网关自定义驱动开发
        • 驱动管理
        • GO语言实现示例
        • 自定义驱动开发指南
      • 不同协议设备接入
        • BACnet设备接入
        • OPC-UA设备接入
        • Modbus 设备接入
        • IEC104设备接入
        • OPC-DA设备接入
    • 节点管理
      • 边缘应用获取云端STS鉴权
      • 进程模式节点
      • 远程MQTT消息下发
      • 节点运行模式说明
      • 节点影子
      • 远程调用
      • 容器模式节点
      • 远程调试
      • 远程SSH边缘节点
      • 边缘节点OpenAPI
      • 证书管理
      • 节点预配
    • 业务编排
      • 单元管理
      • 技能管理
      • 常见技能
    • 应用管理
      • 业务模版
      • 应用部署
        • 应用运行模式与分类说明
        • 函数应用
          • 自定义函数与依赖包解耦下发
          • 从CFC引入多个函数下发
          • 典型使用说明
          • 使用函数调用边缘AI模型
          • 自定义函数与依赖包整体下发
        • 容器应用
          • subpath子路径使用说明
          • workdir工作目录使用说明
          • Job类型容器应用
          • 容器应用状态说明
          • 原生yaml接入使用说明
          • 端口映射说明
          • 容器应用工作负载类型说明
          • Deployment类型容器应用
          • DaemonSet类型容器应用
          • QPS监控
          • emptyDir卷使用说明
          • 边缘服务调用
        • 进程应用
          • 进程应用概述
          • 可执行二进制程序类型进程应用
          • 可执行脚本类型进程应用
      • 配置管理
        • 证书
        • 函数
        • 镜像仓库凭证
        • 配置项
        • 密文
        • 镜像
        • 进程程序包
    • AI加速卡
      • AI加速卡通用资源调度方法
      • 自定义加速卡算力指标采集
      • 华为昇腾
        • 昇腾310资源监控
      • 英伟达
        • GPU资源调度-显存隔离
        • Jetson资源监控
        • GPU资源调度-显存共享
        • Jetson依赖说明
        • NVIDIA GPU资源监控
      • 寒武纪
        • MLU270资源监控
      • 百度昆仑
        • 昆仑芯片资源监控
      • 比特大陆
        • 挂载比特大陆边缘计算盒子tpu资源
        • BM-SE5资源监控
  • 服务等级协议SLA
    • 服务等级协议SLA(V1.0)
  • 备份
    • 进程模式应用
    • 部署通用CPU模型
    • 部署模型SDK至Atlas200DK
    • 适配列表
    • 连接边缘节点本地baetyl-broker
    • 使用自定义modbus应用采集
    • NVIDIA GPU资源管理
    • FAQ
    • NVIDIA Jetson专用模型部署-进程模式
    • 容器模式应用
    • 连接边缘节点本地baetyl-broker服务
    • DaemonSet类型和job类型服务部署
    • 通用CPU模型部署-容器模式
    • NVIDIA Jetson专用模型部署-容器模式
    • 功能发布记录
    • 在BIE控制台部署从AI中台下载的模型
    • EasyEdge概述
    • Nvidia_Jetson
      • 使用NVIDIA官方镜像运行模型-容器模式
      • 二进制程序运行模型-进程模式
      • 使用edgekit镜像运行模型-容器模式
    • 下载专区
      • 相关资源下载
  • 产品定价
    • 产品定价
所有文档
menu
没有找到结果,请重新输入

智能边缘 BIE

  • 产品描述
    • 名词解释
    • 使用限制
    • 产品概述
    • 产品优势
    • 应用场景
  • 配置文件说明
    • baetyl-rule
    • baetyl-remote-object
    • baetyl-function
    • baetyl-broker
  • 快速入门
    • 融合模式节点安装
    • 快速入门指南
    • 离线安装k3s+docker
    • 进程模式节点安装
      • 在linux上安装
      • 在windows上安装
  • 典型实践
    • OPC-UA使用
    • 使用BIE函数计算调用文心一言
    • 边缘规则引擎实战
      • 集成Kuiper流式计算引擎
      • 边缘规则实例
    • 将AI中台模型部署至边缘节点
      • 获取AI中台模型部署包进行应用部署
      • 部署模型SDK至Atlas200DK
      • 模型中心1.0
        • 通过AI中台转换模型并下发至边缘
        • 通过AI中台直接将模型下发至边缘
      • 模型中心2.0
        • 将物体检测模型部署至边缘
        • 将图像分类模型部署至边缘
    • 部署PaddleServing模型
      • 使用BIE下发PaddleOCR模型
      • 制作GPU版本Paddle Serving推理镜像
      • 通过BIE部署Paddle Serving
    • Modbus协议采集温湿度传感器
      • 连接边缘baetyl-broker
      • 使用内置modbus驱动采集数据并进行边缘函数计算
      • 数据从baetyl-broker上传至IoTCore
    • 部署EasyDL模型SDK
      • 部署EasyDL烟火检测模型至ARM64节点
    • 部署EasyEdge模型SDK
      • 进程模式下发python SDK模型
      • 使用EasyEdge模型转换获取边缘模型
      • 部署模型SDK至Windows设备
      • 部署模型SDK至Intel Movidius设备
      • 部署模型SDK至Jetson Xavier
    • 部署自定义容器镜像模型
      • 部署mnist手写数字识别模型
      • 部署物体检测模型
    • video-infer实现边缘视频AI推断
      • 使用Movidius VPU加速边缘视频推断
      • 使用CPU实现边缘视频推断
  • 操作指南
    • 主子用户鉴权
    • 设备管理
      • 设备模拟器
      • 子设备数据云边交互方式
      • 进程模式软网关设备接入指南
      • 子设备数据云边交互方式-v2
      • 视频流管理
        • IPC子设备和驱动
        • 边缘转发RTSP视频流
      • 设备接入
        • 设备模型管理
        • 接入模板
        • 设备管理
        • 子设备绑定
      • 驱动管理
        • 进程模式软网关自定义驱动开发
        • 驱动管理
        • GO语言实现示例
        • 自定义驱动开发指南
      • 不同协议设备接入
        • BACnet设备接入
        • OPC-UA设备接入
        • Modbus 设备接入
        • IEC104设备接入
        • OPC-DA设备接入
    • 节点管理
      • 边缘应用获取云端STS鉴权
      • 进程模式节点
      • 远程MQTT消息下发
      • 节点运行模式说明
      • 节点影子
      • 远程调用
      • 容器模式节点
      • 远程调试
      • 远程SSH边缘节点
      • 边缘节点OpenAPI
      • 证书管理
      • 节点预配
    • 业务编排
      • 单元管理
      • 技能管理
      • 常见技能
    • 应用管理
      • 业务模版
      • 应用部署
        • 应用运行模式与分类说明
        • 函数应用
          • 自定义函数与依赖包解耦下发
          • 从CFC引入多个函数下发
          • 典型使用说明
          • 使用函数调用边缘AI模型
          • 自定义函数与依赖包整体下发
        • 容器应用
          • subpath子路径使用说明
          • workdir工作目录使用说明
          • Job类型容器应用
          • 容器应用状态说明
          • 原生yaml接入使用说明
          • 端口映射说明
          • 容器应用工作负载类型说明
          • Deployment类型容器应用
          • DaemonSet类型容器应用
          • QPS监控
          • emptyDir卷使用说明
          • 边缘服务调用
        • 进程应用
          • 进程应用概述
          • 可执行二进制程序类型进程应用
          • 可执行脚本类型进程应用
      • 配置管理
        • 证书
        • 函数
        • 镜像仓库凭证
        • 配置项
        • 密文
        • 镜像
        • 进程程序包
    • AI加速卡
      • AI加速卡通用资源调度方法
      • 自定义加速卡算力指标采集
      • 华为昇腾
        • 昇腾310资源监控
      • 英伟达
        • GPU资源调度-显存隔离
        • Jetson资源监控
        • GPU资源调度-显存共享
        • Jetson依赖说明
        • NVIDIA GPU资源监控
      • 寒武纪
        • MLU270资源监控
      • 百度昆仑
        • 昆仑芯片资源监控
      • 比特大陆
        • 挂载比特大陆边缘计算盒子tpu资源
        • BM-SE5资源监控
  • 服务等级协议SLA
    • 服务等级协议SLA(V1.0)
  • 备份
    • 进程模式应用
    • 部署通用CPU模型
    • 部署模型SDK至Atlas200DK
    • 适配列表
    • 连接边缘节点本地baetyl-broker
    • 使用自定义modbus应用采集
    • NVIDIA GPU资源管理
    • FAQ
    • NVIDIA Jetson专用模型部署-进程模式
    • 容器模式应用
    • 连接边缘节点本地baetyl-broker服务
    • DaemonSet类型和job类型服务部署
    • 通用CPU模型部署-容器模式
    • NVIDIA Jetson专用模型部署-容器模式
    • 功能发布记录
    • 在BIE控制台部署从AI中台下载的模型
    • EasyEdge概述
    • Nvidia_Jetson
      • 使用NVIDIA官方镜像运行模型-容器模式
      • 二进制程序运行模型-进程模式
      • 使用edgekit镜像运行模型-容器模式
    • 下载专区
      • 相关资源下载
  • 产品定价
    • 产品定价
  • 文档中心
  • arrow
  • 智能边缘BIE
  • arrow
  • 配置文件说明
  • arrow
  • baetyl-broker
本页目录
  • 简介
  • 配置说明
  • demo示例

baetyl-broker

更新时间:2025-08-21

简介

baetyl-broker 基于Golang语言开发,是一个单机版的消息订阅和发布中心,采用 MQTT3.1.1 协议,可在低带宽、不可靠网络中提供可靠的消息传输服务。其作为 baetyl 框架端侧的消息中间件,为所有服务提供消息驱动的互联能力。

目前支持 4 种接入方式:TCP、SSL(TCP + SSL)、WS(Websocket)及 WSS(Websocket + SSL),MQTT 协议支持度如下:

  • 支持 Connect、Disconnect、Subscribe、Publish、Unsubscribe、Ping 等功能
  • 支持 QoS 等级 0 和 1 的消息发布和订阅
  • 支持 Retain、Will、Clean Session
  • 支持订阅含有 +、# 等通配符的主题
  • 支持符合约定的 ClientID 和 Payload 的校验
  • 支持认证鉴权,在传输层使用 tls 证书做双向认证,在应用层支持 ACL 权限控制
  • 暂时 不支持 Client 的 Keep Alive 特性以及 QoS 等级 2 的发布和订阅

配置说明

baetyl-broker 的全量配置文件如下,并对配置字段做了相应解释:

YAML
1listeners: # [必须]监听地址,例如:
2  - address: tcp://0.0.0.0:1883 # tcp 连接
3  - address: ssl://0.0.0.0:1884 # ssl 连接,ssl 连接必须配置证书
4    ca: example/var/lib/baetyl/testcert/ca.crt # Server 的 CA 证书路径
5    key: example/var/lib/baetyl/testcert/server.key # Server 的服务端私钥路径
6    cert: example/var/lib/baetyl/testcert/server.crt # Server 的服务端公钥路径
7    anonymous: true # 如果 anonymous 为 true,服务端对该端口不进行 ACL 验证
8  - address: ws://0.0.0.0:8883/mqtt # ws 连接
9  - address: wss://0.0.0.0:8884/mqtt # wss 连接,wss 连接必须配置证书
10    ca: example/var/lib/baetyl/testcert/ca.crt # Server 的 CA 证书路径
11    key: example/var/lib/baetyl/testcert/server.key # Server 的服务端私钥路径
12    cert: example/var/lib/baetyl/testcert/server.crt # Server 的服务端公钥路径
13    anonymous: false # 如果 anonymous 为 true,服务端对该端口不进行 ACL 验证
14principals: # ACL 权限控制,支持账号密码和证书认证
15  - username: test # 用户名
16    password: hahaha # 密码
17    permissions: # 权限控制
18      - action: pub # pub 权限
19        permit: ["test"] # 允许的 topic,支持通配符
20      - action: sub # pub 权限
21        permit: ["test"] # 允许的 topic,支持通配符
22  - username: client # 如果密码为空,username 表示客户端证书的 common name,用于做证书连接的客户端的 ACL 验证
23    permissions: # 权限控制
24      - action: pub # pub 权限
25        permit: ["#"] # 允许的 topic,支持通配符
26      - action: sub # pub 权限
27        permit: ["#"] # 允许的 topic,支持通配符
28session: # 客户端 session 相关的设置
29  maxClients: 0 # 服务端最大客户端连接数,如果为 0 或者负数表示不做限制
30  maxMessagePayloadSize: 32768 # 可允许传输的最大消息长度,默认 32768 字节(32K),最大值为 268,435,455字节(约256MB) - 1
31  maxInflightQOS0Messages: 100 # QOS0 消息的飞行窗口
32  maxInflightQOS1Messages: 20 # QOS1 消息的飞行窗口
33  resendInterval: 20s # 消息重发间隔,如果客户端在消息重发间隔内没有回复确认(ack),消息会一直重发,直到客户端回复确认或者 session 关闭
34  persistence: # 消息持久化相关配置
35    store: # 底层存储插件配置
36      driver: boltdb # 底层存储插件,默认 boltdb
37      source: var/lib/baetyl/broker.db # 存储文件路径
38    queue: # 存储
39      batchSize: 10 # 消息通道缓存大小
40      expireTime: 24h # 消息过期时间间隔,在此间隔前的消息在下次清理时会被清理掉
41      cleanInterval: 1h # 消息清理间隔,后台会按照此间隔定期清理过期消息
42      writeTimeout: 100ms # 批量写超时间隔,按照此间隔进行写操作,如果间隔时间内,缓存满了,也会触发写操作
43      deleteTimeout: 500ms # 批量删除已确认消息超时间隔,按照此间隔进行对已确认的消息进行删除操作,如果间隔时间内,已确认消息缓存满了,也会触发删除操作 
44  sysTopics: ["$link", "$baidu"] # 系统主题
45
46logger: # 日志
47  level: info # 日志等级

demo示例

接下来给出一个配置 demo,可以快速接入 broker:

YAML
1session:
2  sysTopics: ["$link", "$baetyl"]
3logger:
4  level: debug
5  encoding: console
6listeners:
7  - address: 'tcp://0.0.0.0:8883'
8principals:
9  - username: test
10    password: test
11    permissions:
12      - action: pub
13        permit:
14          - '#'
15      - action: sub
16        permit:
17          - '#'

说明:

  • 需要在baetyl-broker当中添加一条【(容器外)8883:8883(容器内)】的端口映射。
  • baetyl-broker会默认加载系统证书,使用tls方式认证,容器内端口是50010

上一篇
baetyl-function
下一篇
快速入门