Visão geral do protocolo MQTT
- MQTT é um protocolo de rede que permite trocar dados em dispositivos pequenos, sobre redes leves
- Foi projetado no fim dos anos 1990, quando era importante usar com eficiência energia limitada e largura de banda de rede restrita
- À medida que as redes evoluíram, o valor do MQTT continua alto em diversas áreas, como edge computing, automação residencial e dispositivos móveis
- A simplicidade do protocolo MQTT é uma característica extremamente poderosa
Atividades de Andy Piper relacionadas ao MQTT
- Após entrar na IBM em 2001, ele conheceu o MQTT pela primeira vez e começou a usá-lo internamente
- Acabou assumindo o papel de promover a tecnologia MQTT em conexão com as iniciativas de marketing da IBM para o Smarter Planet
- Entre 2009 e 2011, apresentou ativamente a tecnologia MQTT em seu blog e contribuiu para sua disseminação
- No início, brokers internos da IBM eram usados principalmente, mas com o surgimento de brokers open source como o Mosquitto, o uso começou a se espalhar ainda mais
- Em 2011, esteve profundamente envolvido no processo em que a IBM doou implementações de MQTT para a Fundação Eclipse
Sucesso e crescimento do MQTT
- Há várias empresas que contribuíram para desenvolver e popularizar a tecnologia MQTT nos últimos 15 anos
- Hoje, o MQTT é usado em áreas muito diversas, da comunidade maker aos filtros de ar da Dyson, controle de impressoras 3D e manufatura
- É provável que o MQTT também esteja sendo usado no backend de muitos aplicativos que usamos no dia a dia
Atividades de comemoração dos 25 anos
- A conta oficial do MQTT foi transferida do Twitter para o Mastodon (@mqtt@fosstodon.org)
- Andy Stanford-Clark fez uma entrevista com a HiveMQ, que também mantém um podcast relacionado
- Ele agradece aos desenvolvedores, usuários e entusiastas da comunidade MQTT
O futuro do MQTT
- Deseja-se que o MQTT continue sendo usado e evoluindo pelos próximos 25 anos ou mais
História pessoal de Andy Piper
- Durante seu período na IBM, houve uma ocasião em que ele recebeu uma avaliação de desempenho baixa por focar nas atividades da comunidade MQTT
- Roger Light, desenvolvedor do Mosquitto, ouviu uma apresentação de Andy Stanford-Clark em 2009, se inspirou e começou o desenvolvimento do Mosquitto
- Entre os vídeos de Andy Piper sobre MQTT no YouTube, um vídeo de 15 anos atrás mostrando integração com PHP ainda registra alto número de visualizações
Opinião do GN⁺
- O MQTT tem um papel muito importante na era da IoT e, graças ao seu design de protocolo leve, funciona bem mesmo em ambientes com recursos limitados
- Diferentemente de protocolos complexos já existentes, sua vantagem é ser simples e fácil de usar, embora seja necessário cuidado do ponto de vista de segurança
- Protocolos semelhantes ao MQTT incluem AMQP e CoAP, mas em termos de usabilidade o MQTT leva vantagem
- É provável que os esforços para melhorar a segurança e a escalabilidade do MQTT continuem no futuro, e também há expectativa de integração com tecnologias de rede modernas, como WebSocket
- Ao desenvolver serviços de IoT, vale considerar ativamente a adoção do protocolo MQTT, aproveitando diversos brokers open source e bibliotecas cliente disponíveis
1 comentários
Comentários do Hacker News
Compartilha a experiência de ter visualizado, como primeiro projeto, o sistema de canais de um grande resort de esqui usando um mapa SVG e MQTT. Esse projeto é mantido há mais de 10 anos, e as atualizações de estado são refletidas automaticamente via WebSocket.
Usou MQTT em um projeto recente, mas achou difícil de entender por causa das muitas opções do protocolo e também sentiu falta de uma documentação melhor. Em especial, enfrentou problemas de condição de corrida no cliente Python do Eclipse Mosquitto.
Menciona o caso em que a casa de Andy Stanford Clark virou notícia antes da era em que dispositivos IoT tuitavam, explicando que o protocolo MQTT era muito eficiente e simples de implementar numa época em que transmitir 1 byte por link via satélite custava US$ 1.
Compartilha como curiosidade o fato de que a biblioteca Boost C++ está avaliando incluir a implementação
async-mqtt5como Boost.MQTT.Explica que, nos últimos anos, o MQTT tem sido muito usado em fábricas para compartilhamento de dados entre máquinas, e que no passado foi usado em sistemas SCADA na indústria de petróleo e gás. Enfatiza que o MQTT é um dos principais motores da Indústria 4.0.
Mostra ceticismo em relação à afirmação de que o MQTT é leve e eficiente, argumentando que no fim das contas ele apenas usa TCP/IP. Diz que o fato de ser um padrão é positivo por permitir conexão com dispositivos comerciais, mas acredita que existam opções melhores de pub/sub e filas de mensagens.
Explica que tem usado MQTT em aulas de IoT e que o suporte via WebSocket é conveniente.
Explica que o MQTT não serve apenas para pequenos projetos de hobby, mas também pode escalar para projetos de grande porte como o Facebook Messenger.
Compartilha a experiência recente de ter implementado um sistema de mensageria entre processos usando MQTT em um projeto de sistemas embarcados. Foi possível conectar dispositivos à rede e registrar ou injetar mensagens com o MQTT Explorer.
Compartilha uma experiência recente usando o modo de compatibilidade MQTT 3.1.1 no NATS, dizendo que a configuração foi relativamente fácil e atendeu bem às necessidades de casa inteligente. Também foi uma experiência interessante explorar testes de carga de latência e throughput.