MQTT£¨Message Queuing Telemetry Transport£©ÊÇÒ»ÖÖÇáÁ¿¼¶µÄ·¢²¼¶©ÔÄÏûÏ¢´«ÊäÐÒ飬¹ã·ºÓ¦ÓÃÓÚÎïÁªÍøÁìÓò¡£±¾ÎĽ«ÓÉk8¿·¢ÌìÉúÓ®¼ÒÒ»´¥¼´·¢µç×ÓÏêϸ½âÎöMQTTÐÒ飬²¢½éÉÜÎïÁªÍøÓ¦ÓÃÖÐMQTTµÄÌص㡣
MQTTÐÒéÊÇ»ùÓÚ·¢²¼¶©ÔÄģʽµÄÏûÏ¢´«ÊäÐÒé¡£·¢²¼¶©ÔÄģʽÖУ¬ÏûÏ¢·¢²¼Õß½«ÏûÏ¢·¢²¼µ½Ìض¨µÄÖ÷Ì⣬ÏûÏ¢¶©ÔÄÕß¿ÉÒÔÑ¡Ôñ¶©ÔÄÌض¨µÄÖ÷Ì⣬´Ó¶ø½ÓÊÕËù¹ØÐĵÄÏûÏ¢¡£ÕâÖÖËÉÉ¢µÄñîºÏ·½Ê½Ê¹µÃÉ豸֮¼ä¿ÉÒÔÁé»îµØ½øÐÐÏûÏ¢´«µÝ£¬ÊÊÓÃÓÚ¸´ÔÓµÄÎïÁªÍø»·¾³¡£
MQTTÐÒéÊÇÒ»ÖÖÇáÁ¿¼¶ÐÒé¡£ÓëÆäËû´«Í³µÄÏûÏ¢´«ÊäÐÒéÏà±È£¬MQTTÐÒéÉè¼Æ¾«¼ò£¬Ö»°üº¬ÉÙÁ¿µÄ¹æ¶¨¹¦ÄÜ£¬Ê¹µÃÐÒéʵÏÖ¸ü¼ÓÇáÁ¿¼¶¡£ÕâÖÖÇáÁ¿¼¶µÄÌصãʹµÃMQTTÐÒéÊÊÓÃÓÚ×ÊÔ´ÊÜÏÞµÄÉ豸£¬Èç´«¸ÐÆ÷¡¢Ç¶ÈëʽÉ豸µÈ¡£
MQTTÐÒé¾ßÓпɿ¿ÐԺͰ²È«ÐÔ¡£Í¨¹ýQoS£¨Quality of Service£©µÈ¼¶£¬MQTTÐÒé¿ÉÒÔÈ·±£ÏûÏ¢µÄ¿É¿¿´«Êä¡£QoS¹²ÓÐÈý¸öµÈ¼¶£¬·Ö±ðÊÇ0¡¢1ºÍ2£¬0±íʾÏûÏ¢´«Êä²»¿É¿¿£¬1±íʾÖÁÉÙÒ»´ÎµÄÏûÏ¢´«Ê䣬2±íʾȷ±£½öÒ»´ÎµÄÏûÏ¢´«Êä¡£ÕâÖÖÁé»îµÄQoSµÈ¼¶¿ÉÒÔ¸ù¾Ýʵ¼ÊÐèÇó½øÐÐÉèÖá£Í¬Ê±£¬MQTTÐÒéÒ²Ö§³ÖTLS/SSL¼ÓÃÜ´«Ê䣬±£»¤Êý¾ÝµÄ°²È«ÐÔ¡£
MQTTÐÒ黹¾ß±¸½ÏµÍµÄÍøÂç´ø¿íÏûºÄ¡£ÓÉÓÚÆäÇáÁ¿¼¶µÄÉè¼Æ£¬MQTTÐÒé´«ÊäµÄÏûϢͷ²¿½ÏС£¬¼õÉÙÁËÍøÂç´ø¿íµÄÏûºÄ¡£Õâ¶ÔÓÚÎïÁªÍøÖеĴó¹æÄ£É豸Á¬½ÓºÍÏûÏ¢´«Êä·Ç³£ÖØÒª¡£
MQTTÐÒéÖ§³Ö¶àÖÖƽ̨ºÍÉ豸¡£MQTTÐÒéµÄ¿ª·ÅÐÔºÍÁé»îÐÔʹµÃËüÊÊÓÃÓÚ¸÷ÖÖƽ̨ºÍÉ豸£¬ÀýÈçPC¡¢ÊÖ»ú¡¢´«¸ÐÆ÷ºÍǶÈëʽÉ豸µÈ¡£Í¬Ê±£¬MQTTÐÒéÒ²Ö§³Ö¶àÖÖͨÐÅ·½Ê½£¬ÈçTCP¡¢WebSocketµÈ£¬·½±ã²»Í¬É豸֮¼äµÄÏûÏ¢´«µÝ¡£
MQTTÐÒéµÄÖ÷ÒªÌصãÈçÏ£º
1. ÇáÁ¿¼¶£ºMQTTÐÒé±»Éè¼ÆΪ·Ç³£ÇáÁ¿¼¶£¬Í¨ÐÅÊý¾Ý°ü·Ç³£Ð¡£¬Í·²¿¿ªÏúС¡£ÕâʹµÃËüÔÚ´ø¿íÓÐÏÞµÄÍøÂç»·¾³Ï¸ü¼Ó¸ßЧ£¬¶ÔÓڵ͹¦ºÄÉ豸¶øÑÔ£¬Äܹ»½ÚÊ¡±¦¹óµÄµç³ØÊÙÃü¡£
2. Ö§³Ö·¢²¼/¶©ÔÄģʽ£ºMQTT²ÉÓÃÁË·¢²¼/¶©ÔÄģʽ£¬ÏûÏ¢µÄ·¢ËÍÕß³ÆΪ·¢²¼Õߣ¬ÏûÏ¢µÄ½ÓÊÕÕß³ÆΪ¶©ÔÄÕß¡£·¢²¼Õß½«ÏûÏ¢·¢Ë͸øÒ»¸öÌض¨µÄÖ÷Ì⣨Topic£©£¬¶ø¶©ÔÄÕßÔò¶©ÔĸÐÐËȤµÄÖ÷Ì⣬ֻÓж©ÔÄÁËÏàÓ¦Ö÷ÌâµÄÉ豸²Å»á½ÓÊÕµ½ÏàÓ¦µÄÏûÏ¢¡£ÕâÖÖģʽ¿ÉÒÔʵÏÖµã¶ÔµãµÄͨÐÅ£¬Ò²¿ÉÒÔʵÏÖÒ»¶Ô¶àµÄͨÐÅ¡£
3. ¿É¿¿ÐԺͰ²È«ÐÔ£ºMQTTÐÒéÖ§³ÖÈýÖÖÏûÏ¢·¢²¼ÖÊÁ¿µÈ¼¶£º×î¶àÒ»´Î£¨At most once£©¡¢ÖÁÉÙÒ»´Î£¨At least once£©ºÍÇ¡ºÃÒ»´Î£¨Exactly once£©¡£¿ÉÒÔ¸ù¾Ý²»Í¬µÄÓ¦Óó¡¾°Ñ¡ÔñºÏÊʵķ¢²¼ÖÊÁ¿µÈ¼¶¡£´ËÍ⣬MQTTÐÒé¿ÉÒÔͨ¹ýTLS/SSL½øÐмÓÃÜ£¬È·±£Í¨ÐŵݲȫÐÔ¡£
4. ÍøÂçÊÊÓ¦ÐÔ£ºMQTTÐÒéÖ§³ÖTCP/IP¡¢WebSocketµÈ¶àÖÖÍøÂç´«ÊäÐÒ飬Äܹ»ÔÚ²»Í¬ÍøÂç»·¾³ÖÐÁé»îÊÊÅ䣬°üÀ¨ÓÐÏßÍøÂçºÍÎÞÏßÍøÂç¡£
MQTTÐÒéÔÚÎïÁªÍøÓ¦ÓÃÖоßÓÐÒÔÏÂÌص㣺
1. ½ÚÄÜ£ºÓÉÓÚMQTTÐÒé·Ç³£ÇáÁ¿¼¶£¬Äܹ»ÒԽϵ͵ŦºÄÔËÐУ¬ÊÊÓÃÓڵ͹¦ºÄÉ豸£¬¿ÉÒÔÑÓ³¤É豸µÄµç³ØÊÙÃü¡£
2. À©Õ¹ÐÔ£ºMQTTÐÒéÖ§³Ö´óÁ¿µÄÉ豸Á¬½Ó£¬Äܹ»ÇáËÉÓ¦¶ÔÊýÊ®ÒÚ¼¶±ðµÄÉ豸Á¬½ÓÐèÇó£¬Âú×ãÎïÁªÍø´ó¹æÄ£É豸Á¬½ÓµÄÐèÇó¡£
3. ʵʱÐÔ£ºMQTTÐÒé²ÉÓ÷¢²¼/¶©ÔÄģʽ£¬Äܹ»ÊµÏÖʵʱµÄÉ豸Êý¾Ý´«Ê䣬֧³Ö¸ßƵÂʵÄÊý¾Ý¸üС£
4. µ¯ÐÔºÍÎȶ¨ÐÔ£ºÓÉÓÚMQTTÐÒéÄܹ»Ö§³Ö¶ÏÏßÖØÁ¬£¬Ê¹µÃÉ豸ÔÚÍøÂç²»Îȶ¨µÄ»·¾³ÏÂÄܹ»±£³ÖÁ¬½Ó²¢Õý³£¹¤×÷¡£
MQTTÐÒéÊÇÒ»Öַdz£ÊʺÏÎïÁªÍøÓ¦ÓõÄÏûÏ¢´«ÊäÐÒé¡£ËüµÄ·¢²¼¶©ÔÄģʽ¡¢ÇáÁ¿¼¶Éè¼Æ¡¢¿É¿¿ÐԺͰ²È«ÐÔ£¬ÒÔ¼°µÍÍøÂç´ø¿íÏûºÄµÄÌص㣬ʹµÃMQTT³ÉΪÎïÁªÍøÖй㷺ʹÓõıê×¼ÐÒé¡£
ͨ¹ýʹÓÃMQTTÐÒ飬ÎïÁªÍøÓ¦ÓÿÉÒÔʵÏÖÉ豸֮¼äµÄÁé»îÏûÏ¢´«µÝ£¬Ìá¸ßϵͳµÄ¿É¿¿ÐԺͰ²È«ÐÔ¡£MQTTÐÒéÒÔÆäÇáÁ¿¼¶¡¢¿É¿¿ÐÔ¡¢°²È«ÐÔºÍÍøÂçÊÊÓ¦ÐÔµÈÌص㣬³ÉΪÎïÁªÍøÁìÓò×î³£ÓõÄͨÐÅÐÒéÖ®Ò»£¬¹ã·ºÓ¦ÓÃÓÚ¸÷ÖÖÎïÁªÍø³¡¾°£¬ÈçÖÇÄܼҾӡ¢ÖÇÄܳÇÊС¢¹¤Òµ×Ô¶¯»¯µÈ¡£