Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>I think you mix a few things up: <em>MQTT</em> is an application level protocol and uses TCP as transport protocol. <em>MQTT</em> can also be used with Websockets as transport. <em>MQTT</em> is, if you will, a lightweight alternative to <em>JMS</em> and <em>AMQP</em>. </p> <p><em>AMQP</em> is a popular and reliable alternative to <em>JMS</em> and is well suited for business and mission critical messaging. It is very feature rich and widely used. Note that <em>AMQP</em> is a messaging protocol while <em>JMS</em> is an API (which can even use <em>AMQP</em> as transport). You can use <em>AMQP</em> directly in Java Applications with Libraries such as the <a href="http://www.rabbitmq.com/java-client.html" rel="noreferrer">RabbitMQ Java Client</a>.</p> <p><em>MQTT</em> on the other hand is perfect fit for telemetry data and scenarios where you have many clients which communicate with a single message broker and where low bandwidth usage, memory efficiency and battery life on the clients is key.</p> <p><em>JMS</em> does not define any transport protocol (in contrast to MQTT) and anything could be used here. I personally think TCP is a good fit here, too.</p> <p>I do not know about OpenMQ but for JMS and AMQP I can recommend <a href="http://activemq.apache.org/" rel="noreferrer">ActiveMQ</a>. For MQTT there are a few brokers out there including <a href="http://www.hivemq.com/" rel="noreferrer">HiveMQ</a> and <a href="http://mosquitto.org/" rel="noreferrer">Mosquitto</a>.</p> <p>Obligatory Disclaimer: I am a developer of HiveMQ, so I am probably a bit biased ;-)</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload