Ответ 1
Большая разница здесь заключается в следующем: речь идет о AMQP 0.x или AMQP 1.0. Это два совершенно разных протокола, и только последний стандарт ISO/IEC поддерживается основными продуктами с открытым исходным кодом, такими как ActiveMQ и брокерами Artemis, клиентами Qpid Proton и Qpid Dispatch Router. Такие продукты, как RabbitMQ, поддерживают AMQP 0.x(только с плагином версии 1.0). Большая разница заключается в том, что AMQP 0.x определяет способ разработки брокера и имеет такие понятия, как обмены, очереди и привязки. В AMQP 1.0 нет информации об этом, который является протоколом приложения поверх TCP/IP, обеспечивающим большую абстракцию и не определяющий способ разработки брокера. Первой большой разницей с MQTT является то, что AMQP 1.0 является одноранговым протоколом: вы можете использовать его между двумя одноранговыми узлами, без необходимости брокера посередине. Конечно, он использовался для общения с брокером, обеспечивающим механизм хранения и продвижения. Вы можете использовать его для шаблона запроса/ответа и для pub/sub. Он имеет встроенную систему типов и сообщения предоставляют информацию метаданных.
MQTT - это легкий протокол, работающий только с брокером в середине без концепции очереди (он может хранить сообщения, когда клиент отключен, используя функцию "чистый сеанс" ). У него есть еще одна особенность над AMQP, как тест "воля". Он поддерживает только pub/sub и не содержит метаданных в сообщениях.
AMQP более ориентирован на обмен сообщениями, чем MQTT. Он был создан JP Morgan для деловых операций.
Вы можете найти много информации о них с углубленным сравнением. Если вам нужны ресурсы и ссылки, спросите меня;)
Паоло.