通信协议初选之MQTT

MQTT 简单特点介绍

遥测传输 (MQTT) 是轻量级基于代理的发布/订阅的消息传输协议,设计思想是开放、简单、轻量、易于实现。这些特点使它适用于受限环境。该协议的特点有:

  • 使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合。
  • 对负载内容屏蔽的消息传输。
  • 使用 TCP/IP 提供网络连接。
  • 小型传输,开销很小(固定长度的头部是 2 字节),协议交换最小化,以降低网络流量。
  • 使用 Last Will 和 Testament 特性通知有关各方客户端异常中断的机制。

有三种消息发布服务质量:

  • “至多一次”,消息发布完全依赖底层 TCP/IP 网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。
  • “至少一次”,确保消息到达,但消息重复可能会发生。
  • “只有一次”,确保消息到达一次。这一级别可用于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果。

(参考文章)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Linyb极客之路

微服务之网关入门

2、过滤器:在服务网关中可以完成一系列的横切功能,例如权限校验、限流以及监控等,这些都可以通过过滤器完成(其实路由转发也是通过过滤器实现的)。

1622
来自专栏微服务生态

实现缓存最终一致性的两种方案

问题点:如果更新Redis失败,同时在将数据发到MQ之前的时间,应用重启了,这时候MQ就没有需要更新的数据,如果Redis对所有数据没有设置过期时间,同时在读多...

821
来自专栏后端之路

Maven Assembly Plugin

目前系统中是按照模块来组织jar,因此可以直接打成多个jar以供其他系统使用。 那么对于一个项目来说是否可以针对不同的需求来打出不同的jar呢? 比如某个服务我...

2125
来自专栏IT笔记

支付宝扫码支付和微信扫码支付业务场景及问题记录

这段时间一直在捣鼓扫码支付的功能,项目中使用了支付宝扫码支付和微信扫码支付。中间遇到了很多坑,由于我们系统是分别支持这两种方式的,并且可以随时切换支付方式,特此...

3787
来自专栏架构师小秘圈

为什么微服务一定要有网关?

4285
来自专栏大数据和云计算技术

高速数据总线kafka介绍

1. Kafka的作用 在大数据系统中,常常会碰到一个问题,整个大数据是由各个子系统组成,数据需要在各个子系统中高性能,低延迟的不停流转。有没有一个系统可以同时...

4344
来自专栏张伟博客

windows 内外网都能ping通却无法上网的解决方法

1846
来自专栏开源优测

AutoLink开源平台源码组织结构

AutoLink是一个基于Python + Flask + RobotFramework开发的web IDE模式的自动化测试开源平台。

1203
来自专栏Java成神之路

Java企业微信开发_07_总结一下企业微信的配置

862
来自专栏领域驱动设计DDD实战进阶

领域驱动设计之聚合与聚合根实例二

3185

扫码关注云+社区