mqtt和mq區別?
MQTT:一種通信協議,類似人類交談中的漢語、英語、俄語中的一種語言規范
MQ:一種通信通道,也叫消息隊列,類似人類交談中的用電話、email、微信的一種通信方式
json:一種內容格式,類似人類交談中的排比句等方式
市面上的MQ產品很多,如阿里自研并開源RocketMQ,還有類似RabbitMQ、ActiveMQ,他們不管支持MQTT協議,還支持如AMQP、stomp協議等等,EMQ 使用的協議是mqtt。
二、詳細區別
1.有三個基本概念
消息、消息協議、消息隊列。
消息:信息的載體
消息協議:為了讓消息發送者和消息接收者都能夠明白消息所承載的信息(消息發送者需要知道如何構造消息;消息接收者需要知道如何解析消息),它們就需要按照一種統一的格式描述消息,這種統一的格式稱之為消息協議。所以,有效的消息一定具有某一種格式;而沒有格式的消息是沒有意義的。
消息隊列:消息從發送者到接收者的方式也有兩種。
一種為即時消息通訊,也就是說消息從一端發出后(消息發送者)立即就可以達到另一端(消息接收者),這種方式的具體實現就是我們已經介紹過的RPC(當然單純的http通訊也滿足這個定義);
另一種為延遲消息通訊,即消息從某一端發出后,首先進入一個容器進行臨時存儲,當達到某種條件后,再由這個容器發送給另一端。 這個容器的一種具體實現就是消息隊列,如RabbitMQ。