官术网_书友最值得收藏!

Topics

Topics are hierarchical and are similar to a filing system. For example, vehicleID/engine/oil/temperature and vehicleID/engine/oil/pressure. An IoT device linked to a vehicle might publish a message that holds the value of 122.2 to the address called vehicleID/engine/oil/temperature (where vehicleID would be the unique identifier of that specific vehicle) on the broker. A subscriber to this topic would then get a message that includes the value 122.2 when it establishes a connection to the broker. If a constant connection to the broker is held, the subscriber will receive the message in near real time.

The concept of topic matching is supported for subscribers. This allows wildcard characters, + or #, to be used when subscribing to topics. This is not allowed for publishers.

A + is a wildcard character for a single level. It works like a search pattern where all non + levels must match. A # is a wildcard character for multiple levels and must be used at the end of the string. It will return the entire hierarchy specified. Similar to copying a folder in your filesystem, it will subscribe to all subdirectories and files included for the level specified.

The wildcard allows simpler subscription management to topics. You could subscribe to vehicleID/engine/+/temperature to get all the temperature values in the engine topic. You could also subscribe to +/engine/oil/temperature to get engine oil temperature values for all devices publishing to that broker. You could subscribe to vehicleID/engine/# to get all values in that hierarchy no matter how deep the levels go.

It is important that the topic tree is designed with flexibility in mind. It should be extensible so that new branches can be added without requiring a redesign of the tree. From an analytical point of view, this means that adding more information from the devices is relatively inexpensive if designed well. If designed poorly, it requires a redesign of the topic tree, which makes it more expensive and therefore unlikely to happen. In the constantly adapting world of analytics where you learn new things and exploit them, you want flexibility at all levels.

主站蜘蛛池模板: 那坡县| 阳曲县| 常宁市| 新昌县| 南汇区| 罗山县| 禄丰县| 广安市| 沾益县| 定襄县| 平武县| 丰原市| 康马县| 尉氏县| 营口市| 宕昌县| 九台市| 丰台区| 天长市| 中西区| 大渡口区| 昭觉县| 大余县| 永安市| 合阳县| 栾川县| 虎林市| 宜宾市| 新津县| 延庆县| 日土县| 松滋市| 富源县| 承德市| 祥云县| 龙门县| 德江县| 平遥县| 梨树县| 玉田县| 清水河县|