And the MQ difference mqtt

mqtt and MQ difference:

the MQTT : A communications protocol, similar to the human conversation in Chinese, English, a language specification Russian
MQ : a communication channel, also known as message queues, human-like conversation using phone, email, a communication micro-letter way
json : a content format, similar to the human conversation sentence parallelism, etc.

MQ many products available in the market, such as Ali, self-development and open source RocketMQ, there are similar RabbitMQ, ActiveMQ, regardless of their support MQTT protocol, also supports such as AMQP, stomp protocol, etc., protocol EMQ using the MQTT .

Detailed differences:

There are three basic concepts: message, message protocol, the message queue.

Message : vector information
message protocol : In order for the message sender and the message recipient can understand the information carried by the message (message sender needs to know how to construct a message; the message recipient need to know how to interpret the message), they need to follow a species uniform format description message, a unified format of this message is called protocol. Therefore, necessarily have a certain valid message format; without formatted message is meaningless.
Message queues : a message from a sender to a receiver, there are two ways.
One for the instant messaging communication , that is a message from the (message sender) end of the issue can immediately reach the other end ( the message recipient), the specific implementation of this approach is that we have introduced the RPC ( of course, a simple http communications also conform to this definition );
the other is delayed message communication , i.e. a message sent from the one end, first into a container for temporary storage , when the particular condition, and then transmitted to the other end of the container. A container of this particular implementation is the message queue, such as RabbitMQ.

Can be seen from the figure, a certain kind of message communication software (or called libraries) implementations are based on the "Protocols" on: RMI library built on RMI protocol (JAVA RMI protocol is part of the protocol specification), belonging to the a kind of "instant messaging communication"; the design basis and Qpid RabbitMQ messaging communications software is the AMQP protocol, belongs to a "delayed message communication."

Although there is a message protocol "private agreement" and "open protocol" points (open to the industry if the message specification document, whether to allow an organization to change the protocol), although certain software (libraries) do not necessarily support only one protocol (eg ActiveMQ achieve a variety of messaging protocols), although a certain kind of agreement is not necessarily only one software (libraries) to achieve (for example, to support webservice protocol libraries have Codehaus XFire, Apache CXF, Jboss RESTEasy, etc.), but this does not affect the "realization of a certain kind of message communication software (or called libraries) are based on the" agreement "based on the" concept, but the basic concept is strengthened.
AMQP implementation product (such as RabbitMQ)

ActiveMQ is an open source product Apache Software Foundation, supports AMQP protocol (XMPP protocol and similar effect) MQTT agreement, Openwire Stomp protocol and protocol and other messaging protocols. And full support for ActiveMQ JMS API interface specification.

RabbitMQ Erlang language-based development and runtime. Apache ActiveMQ it has many of the same characteristics, such as RabbitMQ full support for multiple messaging protocols: AMQP, STOMP, MQTT, HTTP, the protocol used by default AMQP1.0 we use RabbitMQ. Of course, RabbitMQ as one of the main competing products Apache ActiveMQ also has its own unique features. For example RabbitMQ supports a unique Routing-Exchange message routing rules. These rules may be in accordance with the message content, the message is automatically sorted into different message queues.

 

EMQ and the difference MQ

MQTT in my opinion is a simple publish-subscribe protocol to provide a concept of quality of service. EMQ MQTT protocol is the implementation as a Broker, from end Pub MQTT Broker is a complete interaction Broker to complete a Sub MQTT terminal is interactive , and inside it is a Broker message delivery. Click EMQ principle .

Plainly offspring are the traditional message system (father), but bind to different scenes (mother) of product. However, they both can be used in combination. For example, data can be accepted by MQTT things device to upload, and access Kafka, finally can be distributed simultaneously to HDFS archiving , data warehousing, OLAP analysis to do, Elasticsearch do full-text search, such a structure is very suitable for large-scale projects of things, not only capable of handling massive data also has good scalability.

MQTT is an application layer protocol on top of TCP, for networking applications environment has done a lot of optimization, TCP is the transport layer protocol, is more common protocol layer.

 

 

Original link: https: //blog.csdn.net/wzhqazcscs/article/details/79364902

 

Guess you like

Origin www.cnblogs.com/111testing/p/11487689.html