本地订阅(Local Subscription)
本地订阅(Local Subscription)只在本节点创建订阅与路由表,不会在集群节点间广播全局路由,非常适合物联网数据采集应用。
使用方式: 订阅者在主题(Topic)前增加'$local/'前缀。
共享订阅(Shared Subscription)
共享订阅(Shared Subscription)支持在多订阅者间采用分组负载平衡方式派发消息:
使用方式: 订阅者在主题(Topic)前增加'$queue'或'$share//'前缀。
一、验证 emqq
1、发布端
mosquitto_pub -t topic -m 'XXXX2'
@echo
for /L %%i in (1,1,50) do mosquitto_pub -t topic -m 'XXXX%%i'
pause
2、订阅端
mosquitto_sub -t $share/group/topic
二、验证 mosquitto
1、发布端
mosquitto_pub -t topic 'xxxxxx' (订阅端收不到,说明mosquito不支持共享消费)
mosquitto_pub -t $share/group/topic (这样发订阅端收到,说明mosquito-server把$share/group/当普通字符处理)
2、订阅端
mosquitto_sub -t $share/group/topic
三、结论
本次验证 使用 mosquitto_sub 和 mosquitto_pub , mqtt.fx 不支持emq的共享订阅。
1、emq 支持 共享订阅 和 分组共享订阅
共享订阅:发布者发布topic,订阅者订阅 $queue/topic
分组订阅:发布者发布topic,订阅者订阅 $share/group/topic
完全订阅:发布者发布topic,订阅者订阅 topic
2、mosquitto 不支持 共享订阅 和 分组共享订阅
3、rabbitmq 支持消息队列订阅,消息队列可以设置为定向和两种方式。