架构

入口、事件路由
与在线会话。

MQTT 与 TCP 遥测使用已认证连接、版本化编解码与有界内存路由。持久业务数据由业务系统持有。

运行时路径

MQTT / TCP / UDP devices
          |
          v
transport framing and lifecycle
          |
          v
authentication / ACL / bound AuthContext
          |
          v
versioned DeviceCodec
          |
          v
DeviceEvent(event_id)
          |
          v
bounded EventBus and atomic required-sink admission
          |
          +------ confirmed HTTP webhook
          |
          +------ confirmed Business RPC stream

部分工作区职责

工作区将公开协议与客户端同网关运行时和传输实现分离。

netbaiot-protocol

公开线协议与领域类型、稳定错误、路径,以及协议版本 1

crates/netbaiot-protocol

netbaiot-client

业务 HTTP API 与确认事件流所有权

crates/netbaiot-client

netbaiot-device-sdk

可选 MQTT 设备客户端

crates/netbaiot-device-sdk

netbaiot-core

领域类型与同步 DeviceCodec 特质

crates/netbaiot-core

netbaiot-codecs

有界的厂商 / 设备协议编解码

crates/netbaiot-codecs

netbaiot-runtime

缓存、准入、事件路由、会话、命令与指标

crates/netbaiot-runtime

netbaiot-transports

内嵌 MQTT、分帧 TCP、UDP、ACL 与连接所有者

crates/netbaiot-transports

netbaiot-server

校验后的组合、业务 sink、监听器与优雅关闭

apps/netbaiot-server

netbaiot-cli

演示、配置、服务器与运维 CLI

apps/netbaiot-cli

内嵌 MQTT 3.1.1 与有限 5.0 配置

broker 支持 QoS 0、1、2、保留消息、遗嘱和进程内持久会话。重启会清空所有 MQTT 状态。MQTT QoS 与业务投递是不同的契约。

v1/t/{tenant}/p/{product}/d/{device}/up
v1/t/{tenant}/p/{product}/d/{device}/up_ack
v1/t/{tenant}/p/{product}/d/{device}/down
v1/t/{tenant}/p/{product}/d/{device}/down_ack

设计优先级

没有运行时状态文件、数据库、持久 outbox 或离线命令存储。计划内关机在内存中等待必达 sink ACK;强制退出会丢失待处理工作。