O MQ Telemetry Transport Protocol, conhecido como MQTT, foi projetado para dispositivos que executam com baixa energia e baixa largura de banda. É um protocolo de mensagens de publicação / assinatura leve, o que significa que qualquer outro dispositivo pode se inscrever em um tópico específico.
O HTTP / HTTPS foi projetado como um protocolo de solicitação-resposta para computação cliente-servidor, que nunca se preocupa com o uso de energia e possui muitos dados em sobrecarga.
Use MQTT se:
- O dispositivo que você está usando está sendo executado na célula da bateria e você não deseja substituí-lo a cada x número de dias (o MQTT é otimizado para o uso da bateria enquanto o HTTP / S não é)
- Precisa de resposta mais rápida
- Precisa ter um mecanismo pub / sub (se você deseja enviar mensagens para muitos clientes)
- Precisa enviar dados de maneira confiável com diferentes níveis de QoS
O MQTT oferece tanta segurança quanto o HTTPS?
O MQTT depende do TCP como protocolo de transporte, o que significa que, por padrão, a conexão não usa uma comunicação criptografada. Para criptografar toda a comunicação MQTT, a maioria dos intermediários MQTT - como o HiveMQ - permite usar TLS em vez de TCP simples.
Ref: HiveMQ