网关特点
- 运行时没有 PostgreSQL 或其他数据库
- HTTP 202 与 MQTT QoS1 表示 EventAccepted,不是业务持久化
- 命令要求在线 MQTT 或 TCP 会话
- 计划内关机可以 spool 必达工作;崩溃可能丢失内存中的事件
NetbaIoT
NetbaIoT 是 IoT 网关。设备通过 HTTP、MQTT 3.1.1、TCP 或 UDP 上报。网关完成认证与解码后,把 DeviceEvent 转发到你的 webhook 或 TCP sink。它不存储业务数据。
设备可使用标准 MQTT 3.1.1 或设备 HTTP。业务系统通过 netbaiot-client 消费确认事件。运维使用管理监听与 netbaiot CLI。
HTTP 202 与 MQTT QoS1 PUBACK 表示事件越过了有界 EventAccepted 边界:认证、编解码校验、路由,以及对每个确认必达 sink 的原子预留。它们不表示业务数据库已存储该事件。消费者必须按稳定 event_id 去重。
命令只会进入当前已连接的本地 MQTT 或 TCP 会话队列。离线设备返回类型化的 DeviceOffline。NetbaIoT 不存储离线命令。
计划内关机将必达工作排入带 fsync 与原子重命名的有界本地重启 spool。这是优雅重启安全的至少一次投递。SIGKILL、进程崩溃或断电可能丢失仍在内存中的已接受窗口。
不需要。运行时无数据库。持久业务数据由业务系统持有。NetbaIoT 唯一的持久机制是计划内优雅关机时使用的有界本地重启 spool。
表示 EventAccepted:认证、编解码校验、路由,以及对每个确认必达 sink 的原子预留。它们不表示业务数据库已存储该事件。消费者必须按 event_id 去重。
不会。命令只会进入当前已连接的本地 MQTT 或 TCP 会话。离线设备返回类型化的 DeviceOffline。