似乎有一些关于MQTT主题的最佳实践。有些是在hivemq网站上展示的(除其他外):
不要使用前导斜杠 不要在主题中使用空格
保持主题简洁明了
示例主题是
MYHOME /起居室/温度
我的问题:在主题字符串中包含版本级别是不是一个好主意?例如:
v1/myhome/livingroom/sensor/1/temperature
v2/myhome/livingroom/sensor/2/temperature
我也在考虑休息apis中的一些版本。 在版本1中,我将温度作为简单的字符串发送。但后来我可能已经决定将JSON格式用于新传感器的消息有效负载。
接收客户端可以检查版本并相应地处理有效负载。
答案 0 :(得分:0)
如果您不需要同时支持多个版本,请不要这样做。如果你绝对必须,我建议你在传感器级别,而不是root。这为您提供了更换某些传感器的灵活性,而不是其他传感器,例如:
myhome/livingroom/sensor/1/v1/temperature
或
myhome/livingroom/sensor/1/temperature/v1