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

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.

主站蜘蛛池模板: 开原市| 正安县| 广饶县| 甘洛县| 长汀县| 项城市| 吴江市| 怀安县| 彭水| 兴文县| 临清市| 吉木萨尔县| 阿合奇县| 封开县| 稷山县| 岗巴县| 舞钢市| 科技| 聊城市| 比如县| 贡山| 大同县| 濮阳县| 贵港市| 曲麻莱县| 阜阳市| 成安县| 射阳县| 安仁县| 波密县| 望谟县| 清河县| 南郑县| 西乡县| 长岛县| 新晃| 涿鹿县| 高陵县| 汨罗市| 崇州市| 临沧市|