MQTT: mudanças entre as edições
Linha 24: | Linha 24: | ||
*:*(2) assegura o recebimento da mensagem. | *:*(2) assegura o recebimento da mensagem. | ||
*Retem as mensagens: Mantém as mensagens enviadas no '''brocker''' mesmo depois de enviada a todos os subscritores. | *'''Retem as mensagens''': Mantém as mensagens enviadas no '''brocker''' mesmo depois de enviada a todos os subscritores. | ||
*'''Conexões duráveis e sessões limpas''': Quando um cliente se conecta a um servidor e seta o ''clean session flag'' como ''true''. Desta forma, quando desconectar, todas as subscrições serão removidas. Se o ''clean session flag'' for ''false'' a conexão é tratada como durável e as subscrições do cliente continuam mesmo após uma desconexão. | *'''Conexões duráveis e sessões limpas''': Quando um cliente se conecta a um servidor e seta o ''clean session flag'' como ''true''. Desta forma, quando desconectar, todas as subscrições serão removidas. Se o ''clean session flag'' for ''false'' a conexão é tratada como durável e as subscrições do cliente continuam mesmo após uma desconexão. |
Edição das 14h13min de 2 de abril de 2020
MQTT - Message Queue Telemetry Transport
MQTT (Message Queue Telemetry Transport) é um protocolo de mensagens para sensores e pequenos dispositivos móveis, baseado no modelo Publicador/Subscritor, ideal para aplicações de Internet das Coisas, em particular para a comunicação máquina a máquina (M2M - Machine to Machine).
Referências:
- Livro (LAMPKIN etal, 2012) [1].
- Site: MQTT Essentials [2].
As aplicações de Internet das Coisas podem envolver abordagens avançadas de telemetria, de forma a poder conectar diferentes dispositivos inteligentes em atividades de sensoreamento, monitoramento e controle, além da conexão dos mesmos a Internet ou a sistemas de controle central [1].
- MQTT
- Conceitos básicos: [1]
- Publicador/Subscritor: O protocolo MQTT é baseado no princípio de publicar mensagens (Publisher) e subscrever tópicos (Subscriber) para receber mensagens, conhecido como modelo Publisher/Subscriber.
- Um cliente pode subscrever tópicos e receber mensagens de atualizações quando algo for publicado sobre este tópico. Alternativamente, um cliente pode publicar mensagens relativas a um dado tópico e deixá-la disponível para os assinantes.
- Tópicos e subscrições: As mensagens MQTT são publicadas em tópicos (Topic), que são áreas de interesse.
- Os clientes, por sua vez, assinam para receber mensagens de uma dada subscrição. As subscrições podem ser explicitas, ou organizadas hierarquicamente, com o cliente usando wildcards (#) para receber mensagens de uma variedade de tópicos.
- topic: /casa/terreo/cozinha/temperatura
- wildcard: /casa/terreo/#
- Os clientes, por sua vez, assinam para receber mensagens de uma dada subscrição. As subscrições podem ser explicitas, ou organizadas hierarquicamente, com o cliente usando wildcards (#) para receber mensagens de uma variedade de tópicos.
- Qualidade de Serviço: O MQTT define três níveis de Qualidade de Serviço (QoS):
- (0) best effort, envia a mensagem uma vez;
- (1) envia a mensagem várias vezes;
- (2) assegura o recebimento da mensagem.
- Retem as mensagens: Mantém as mensagens enviadas no brocker mesmo depois de enviada a todos os subscritores.
- Conexões duráveis e sessões limpas: Quando um cliente se conecta a um servidor e seta o clean session flag como true. Desta forma, quando desconectar, todas as subscrições serão removidas. Se o clean session flag for false a conexão é tratada como durável e as subscrições do cliente continuam mesmo após uma desconexão.
O modelo publisher/Ssbscriber oferece uma alternativa ao modelo cliente/servidor. No modelo cliente/servidor o cliente se comunica diretamente o servidor num serviço fim a fim. No modelo publisher/subscriber o publicador e o subscritor não se comunicam diretamente. A comunicação é realizada por um terceiro componente, o brocker [2].
Referências
- ↑ 1,0 1,1 1,2 Valerie Lampkin; Weng Tat Leong; Leonardo Olivera; Sweta Rawat; Nagesh Subrahmanyam; Rong Xiang. Building Smarter Planet Solutions with MQTT and IBM WebSphere MQ Telemetry, ibm.com/redbooks, 2012.
- ↑ 2,0 2,1 MQTT Essentials: The Ultimate Kickstart For MQTT Beginners, https://www.hivemq.com/mqtt-essentials/.
Evandro.cantu (discussão) 11h27min de 25 de março de 2020 (-03)