web-dev-qa-db-fra.com

Connectivité cloud pour MQTT et AMQP?

Quelle est la différence entre MQTT et AMQP en termes de connectivité cloud? J'ai besoin de comparer ces deux protocoles en termes de connexion au cloud et j'ai trouvé plus de preuves que AMQP fonctionne mieux, mais j'ai encore besoin de découvrir les différences.

23
Ali Balador

La grande différence ici à souligner est la suivante: parlons-nous d'AMQP 0.x ou d'AMQP 1.0. Ce sont deux protocoles complètement différents et seul ce dernier est une norme ISO/IEC prise en charge par les principaux produits open source comme les courtiers ActiveMQ et Artemis, les clients Qpid Proton et le routeur de répartition Qpid. Des produits comme RabbitMQ prennent en charge AMQP 0.x (uniquement avec un plugin la version 1.0). La grande différence est que l'AMQP 0.x définit la façon dont un courtier doit être développé et avoir des concepts comme les échanges, les files d'attente et les liaisons. Aucune information à ce sujet dans l'AMQP 1.0 qui est un protocole d'application au-dessus de TCP/IP fournissant plus d'abstraction et ne spécifiant pas la façon dont un courtier doit être développé. La première grande différence avec MQTT est que AMQP 1.0 est un protocole peer-to-peer: vous pouvez l'utiliser entre deux pairs, pas besoin d'un courtier au milieu. Bien sûr, il est utilisé pour la communication avec le courtier fournissant un mécanisme de stockage et de retransmission. Vous pouvez l'utiliser pour le modèle de demande/réponse et pour pub/sub. Il dispose d'un système de type intégré et les messages fournissent des informations sur les métadonnées.

MQTT est un protocole léger fonctionnant uniquement avec un courtier au milieu sans concept de file d'attente (il peut stocker des messages lorsqu'un client est hors ligne à l'aide de la fonction "session propre"). Il a une autre fonctionnalité sur AMQP comme le testament "will". Il ne prend en charge que pub/sub et n'a pas de métadonnées dans les messages.

AMQP est plus orienté vers la messagerie que MQTT. Il a été créé par JP Morgan pour les transactions commerciales.

Vous pouvez trouver beaucoup d'informations à leur sujet avec une comparaison approfondie. Si vous avez besoin de ressources et de liens, n'hésitez pas à me demander;)

Paolo.

21
ppatierno

[~ # ~] amqp [~ # ~] Deux des raisons les plus importantes d'utiliser AMQP sont la fiabilité et l'interopérabilité. Comme son nom l'indique, il fournit un large éventail de fonctionnalités liées à la messagerie, y compris la mise en file d'attente fiable, la messagerie de publication et d'abonnement basée sur un sujet, le routage flexible, les transactions et la sécurité. AMQP échange les messages de routage directement - sous forme de fanout, par sujet, et également en fonction des en-têtes.

[~ # ~] mqtt [~ # ~] Les principes et objectifs de conception de MQTT sont beaucoup plus simples et ciblés que ceux d'AMQP - il fournit la publication - et abonnez-vous à la messagerie (pas de files d'attente, malgré le nom) et a été spécialement conçu pour les appareils à ressources limitées et les réseaux à faible bande passante et à latence élevée tels que les lignes commutées et les liaisons par satellite, par exemple. Fondamentalement, il peut être utilisé efficacement dans les systèmes embarqués.

Je vous recommande d'utiliser [~ # ~] amqp [~ # ~] .

Source: http://blogs.vmware.com/

14
Edgard Leal