从零开始上手 MQTT over QUIC:快速体验下一代物联网标准协议

本文介绍了MQTToverQUIC在物联网中的应用,它是EMQX5.0引入的创新特性,旨在减少连接开销和延迟。通过QUIC协议,MQTToverQUIC在不稳定网络环境中表现出优势,EMQ正在推动其标准化。文章展示了如何在EMQX中启用MQTToverQUIC,以及使用NanoSDK和emqtt客户端库进行测试。同时,NanoMQ作为边缘计算产品,支持MQTToverQUIC桥接,允许设备通过QUIC连接到云端。最后,文章提到了性能测试工具emqtt-bench,用于验证MQTToverQUIC的性能提升。

前言

QUIC(RFC9000) 是下一代互联网协议 HTTP/3 的底层传输协议,与 TCP/TLS 协议相比,它在减少连接开销与消息延迟的同时,为现代移动互联网提供了有效灵活的传输层。

EMQX 5.0 是首个将 QUIC 引入 MQTT 的开创性产品。在长期的客户服务和技术探索中,我们注意到 QUIC 的特性能够和一些物联网场景完美契合,于是尝试将 MQTT 的传输层替换成 QUIC,由此诞生了 MQTT over QUIC。

正如 MQTT over QUIC:物联网消息传输还有更多可能 一文所述,在网络不稳定、连接多变的物联网场景下,QUIC 低连接开销和多路径支持的特性就显示出了其领先的优势。测试数据也表明,基于 QUIC 0 RTT/1 RTT 重连/新建能力,MQTT over QUIC 能够在弱网与不固定的网络通路中有效提升用户体验。

EMQ 正以世界知名开源和开放标准机构 OASIS 的 Foundational Sponsor 身份积极推动 MQTT over QUIC 的标准化落地。事实上,目前已经有一部分客户开始尝试将这一新特性投入使用并获得了良好的反馈。为了更多用户能体验到 MQTT over QUIC 为物联网消息传输带来的提升,我们将通过本文指导您如何从零开始上手使用 MQTT over QUIC。

启用 MQTT over QUIC

MQTT over QUIC 特性随 EMQX 5.0 发布。由于是实验性功能,在 CentOS 6、macOS 以及 Windows 系统下并未包含 QUIC 编译,请自行从源码编译并在编译前指定环境变量 BUILD_WITH_QUIC=1 ,其他操作系统和平台则可以正常使用。

MQTT over QUIC 默认不可用,请通过以下配置手动开启。

  1. 打开配置文件 etc/emqx.conf,取消 listeners.quic.default 配置组的注释(如果没有此配置组请手动添加):

    # etc/emqx.conf
    listeners.quic.default {
         
         
      enabled = true
      bind = "0.0.0.0:14567"
      max_connections = 1024000
      keyfile = "etc/certs/key.pem"
      certfile = "etc/certs/cert.pem"
    }
    
  2. 该配置表示启用 QUIC 监听器并绑定 UDP 14567 端口,保存成功后请重启 EMQX 以应用配置。

  3. 执行 emqx_ctl listeners 命令,可在结果中看到 MQTT over QUIC 监听器已启用:

    > emqx_ctl listeners
    quic:default
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值