概述
Topic是消息发布(Pub)者和订阅(Sub)者之间的传输中介。设备可通过Topic实现消息的发送和接收,从而实现服务端与设备端的通信。为方便海量设备基于Topic进行通信,简化授权操作,物联网平台定义了产品Topic类和设备Topic。本文介绍产品和设备Topic的定义、使用和分类。
物联网Topic是实现物联网应用的重要机制,需要设计有效的Topic格式、层级结构、命名规则、权限控制和数据格式,以便更好地组织和管理物联网设备、传感器、应用程序等实体或事件。
常用Topic汇总
功能 | 设备类型 | 发布主题 | 订阅主题 | 平台 | 设备 |
属性(温度、湿度)遥测 | 直连/网关设备 | v1/devices/me/telemetry | v1/devices/me/telemetry | 订阅 | 发布 |
网关子设备 | v1/gateway/telemetry | v1/gateway/telemetry | 订阅 | 发布 | |
服务端命令下发到设备端 | 网关/直连/网关子设备 | v1/devices/me/rpc/request/$request_id | v1/devices/me/rpc/request/+ | 发布 | 订阅 |
设备端响应命令到服务端 | 网关/直连/网关子设备 | v1/devices/me/rpc/response/$request_id | v1/devices/me/rpc/response/+ | 订阅 | 发布 |
事件上报 | 网关/直连/网关子设备 | v1/devices/event/${deviceId}或${deviceName}/${identifier} | v1/devices/event/${deviceId}或${deviceName}/${identifier} | 订阅 | 发布 |
设备Hash、分区计算规则
设备的hash的计算规则
默认使用 murmur3_128进行计算,通过UUID128位值的 高64位、低64位 来计算Hash值。
💡提示
如果要更换计算规则,修改application里面的thingsboard.yml配置值 hash_function_name 即可
设备的Partition的计算规则
服务类型:TB_CORE, TB_RULE_ENGINE, TB_TRANSPORT, JS_EXECUTOR
TB_CORE 的分区大小默认为10,其他服务类型的分区根据队列大小决定。
计算规则:分区值 = Hash值 % 分区大小 的 绝对值。