本地訂閱(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 支持消息隊列訂閱,消息隊列可以設置為定向和兩種方式。