EMQ X(1):EMQX简介

这篇具有很好参考价值的文章主要介绍了EMQ X(1):EMQX简介。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

MQTT属于是物联网的通信协议,在MQTT协议中有两大角色:客户端(发布者/订阅者),服务端(Mqtt broker);针对客户端和服务端需要有遵循该协议的的具体实现,EMQ/EMQ X就是MQTT Broker的一种实现。

EMQ官网:<https://www.emqx.io/cn/

1 EMQ X是什么

EMQ X 基于 Erlang/OTP 平台开发的 MQTT 消息服务器,是开源社区中最流行的 MQTT 消息服务器。

EMQ X 是开源百万级分布式 MQTT 消息服务器(MQTT Messaging Broker),用于支持各种接入标准 MQTT协议的设备,实现从设备端到服务器端的消息传递,以及从服务器端到设备端的设备控制消息转发。从而实现物联网设备的数据采集,和对设备的操作和控制。

2 为什么选择EMQ X

到目前为止,比较流行的 MQTT Broker 有几个:

(1)Eclipse Mosquitto: https://github.com/eclipse/mosquitto

        使用 C 语言实现的 MQTT Broker。Eclipse 组织还还包含了大量的 MQTT 客户端项目:https://www.eclipse.org/paho/#

(2)EMQX: https://github.com/emqx/emqx

        使用 Erlang 语言开发的 MQTT Broker,支持许多其他 IoT 协议比如 CoAP、LwM2M 等

(3)Mosca: https://github.com/mcollina/mosca

        使用 Node.JS 开发的 MQTT Broker,简单易用。

(4)VerneMQ: https://github.com/vernemq/vernemq

        同样使用 Erlang 开发的 MQTT Broker

从支持 MQTT5.0、稳定性、扩展性、集群能力等方面考虑,EMQX 的表现应该是最好的。

与别的MQTT服务器相比EMQ X 主要有以下的特点:

(1)经过100+版本的迭代,EMQ X 目前为开源社区中最流行的 MQTT 消息中间件,在各种客户严格的生产环境上经受了严苛的考验;

(2)EMQ X 支持丰富的物联网协议,包括 MQTT、MQTT-SN、CoAP、 LwM2M、LoRaWAN 和 WebSocket等;

(3)优化的架构设计,支持超大规模的设备连接。企业版单机能支持百万的 MQTT 连接;集群能支持千万级别的 MQTT 连接;

(4)易于安装和使用;

(5)灵活的扩展性,支持企业的一些定制场景;

(6)中国本地的技术支持服务,通过微信、QQ等线上渠道快速响应客户需求;

(7)基于 Apache 2.0 协议许可,完全开源。EMQ X 的代码都放在 Github 中,用户可以查看所有源代码。

(8)EMQ X 3.0 支持 MQTT 5.0 协议,是开源社区中第一个支持 5.0协议规范的消息服务器,并且完全兼容MQTT V3.1 和 V3.1.1 协议。除了 MQTT 协议之外,EMQ X 还支持别的一些物联网协议

(9)单机支持百万连接,集群支持千万级连接;毫秒级消息转发。EMQ X 中应用了多种技术以实现上述功能,

  • 利用 Erlang/OTP 平台的软实时、高并发和容错(电信领域久经考验的语言)
  • 全异步架构
  • 连接、会话、路由、集群的分层设计
  • 消息平面和控制平面的分离等

(10)扩展模块和插件,EMQ X 提供了灵活的扩展机制,可以实现私有协议、认证鉴权、数据持久化、桥接转发和管理控制台等的扩展

(11)桥接:EMQ X 可以跟别的消息系统进行对接,比如 EMQ X Enterprise 版本中可以支持将消息转发到Kafka、RabbitMQ 或者别的 EMQ 节点等

(12)共享订阅:共享订阅支持通过负载均衡的方式在多个订阅者之间来分发 MQTT 消息。比如针对物联网等数据采集场景,会有比较多的设备在发送数据,通过共享订阅的方式可以在订阅端设置多个订阅者来实现这几个订阅者之间的工作负载均衡

3 EMQ X 与物联网平台的关系是什么

典型的物联网平台包括设备硬件、数据采集、数据存储、分析、Web / 移动应用等。EMQ X 位于数据采集这一层,分别与硬件和数据存储、分析进行交互,是物联网平台的核心:前端的硬件通过 MQTT 协议与位于数据采集层的 EMQ X 交互,通过 EMQ X 将数据采集后,通过 EMQ X 提供的数据接口,将数据保存到后台的持久化平台中(各种关系型数据库和 NOSQL 数据库),或者流式数据处理框架等,上层应用通过这些数据分析后得到的结果呈现给最终用户。

4 EMQ X 有哪些产品

EMQ X 公司主要提供三个产品,可在官网首页产品导航查看每一种产品;主要体现在支持的连接数量、产品功能和商业服务等方面的区别:

  • EMQ X Broker:EMQ X 开源版,完整支持 MQTT V3.1.1/V5.0 协议规范,完整支持 TCP、TLS、WebSocket 连接,支持百万级连接和分布式集群架构;LDAP, MySQL, Redis, MongoDB 等扩展插件集成,支持插件模式扩展服务器功能;支持跨 Linux、Windows、macOS 平台安装,支持公有云、私有云、K8S/容器部署
  • EMQ X Enterprise:EMQ X 企业版,在开源版基础上,支持物联网主流协议 MQTT、MQTT-SN、CoAP/LwM2M、HTTP、WebSocket 一站式设备接入;JT-808/GBT-32960 等行业协议支持,基于 TCP/UDP私有协议的旧网设备接入兼容,多重安全机制与认证鉴权;高并发软实时消息路由;强大灵活的内置规则引擎;企业服务与应用集成;多种数据库持久化支持;消息变换桥接转发 Kafka;管理监控中心
  • EMQ X Platform:EMQ X 平台版,EMQ X Platform 是面向千万级超大型 IoT 网络和应用,全球首选电信级物联网终端接入解决方案。千万级大容量;多物联网协议;电信级高可靠;卓越 5G 网络支持;跨云跨IDC 部署;兼容历史系统;完善的咨询服务(从咨询到运维)

5 EMQ X 消息服务器功能列表

(1)完整的 MQTT V3.1/V3.1.1 及 V5.0 协议规范支持

  • QoS0, QoS1, QoS2 消息支持
  • 持久会话与离线消息支持
  • Retained 消息支持
  • Last Will 消息支持

(2)TCP/SSL 连接支持

(3)MQTT/WebSocket/SSL 支持

(4)HTTP 消息发布接口支持

(5)$SYS/# 系统主题支持

(6)客户端在线状态查询与订阅支持

(7)客户端 ID 或 IP 地址认证支持

(8)用户名密码认证支持

(9)LDAP 认证

(10)Redis、MySQL、PostgreSQL、MongoDB、HTTP 认证集成

(11)浏览器 Cookie 认证

(12)基于客户端 ID、IP 地址、用户名的访问控制 (ACL)

(13)多服务器节点集群 (Cluster)

(14)支持 manual、mcast、dns、etcd、k8s 等多种集群发现方式

(15)网络分区自动愈合

(16)消息速率限制

(17)连接速率限制

(18)按分区配置节点

(19)多服务器节点桥接 (Bridge)

(20)MQTT Broker 桥接支持

(21)Stomp 协议支持

(22)MQTT-SN 协议支持

(23)CoAP 协议支持

(24)Stomp/SockJS 支持

(25)延时 Publish ($delay/topic)

(26)Flapping 检测

(27)黑名单支持

(28)共享订阅 ($share/:group/topic)

(29)TLS/PSK 支持

(30)规则引擎文章来源地址https://www.toymoban.com/news/detail-476436.html

  • 空动作 (调试)
  • 消息重新发布
  • 桥接数据到 MQTT Broker
  • 检查 (调试)
  • 发送数据到 Web 服务

到了这里,关于EMQ X(1):EMQX简介的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 简记_BISS通信协议简介

    目录 一、BISS协议概述 二、关键技术特征 2.1、二线串行同步数据总线 2.2、通信效率高 2.3、线路时分复用 2.4、多种安全机制确保数据可靠 2.5、数据同步 2.6、组网能力 2.7、即插即用 三、BISS协议的组网方式 3.1、point-to-point方式 3.2、Multi-slave Networking方式 四、BISS的帧结构和数据

    2024年02月09日
    浏览(22)
  • 物联网协议之COAP简介及Java实践

    目录 前言 一、COAP简介 1、关于COAP  2、COAP特点 3、基于COAP的NB-IoT接入流程 二、CoAP协议JAVA实践 1、californium介绍 2、Java集成  3、Maven 资源引入 4、定义Server端 5、Client调用 6、运行测试 总结         今天平安夜,祝大家圣诞快乐,平平安安。最近几年,随着物联网的兴起,很

    2024年02月04日
    浏览(27)
  • 【物联网】一文读懂UART通信协议

    目录 硬件实现细节 软件实现细节 UART传输的过程 奇偶校验 stm32单片机上代码实现 HAL库开发 标准库开发 UART是通用异步串行接口(Universal Asynchronous Receiver/Transmitter)的缩写。它是一种用于串行异步全双工通信的通信协议,常用于将计算机和外部设备(如传感器、显示器、模块

    2024年02月04日
    浏览(30)
  • 无人机通信协议MAVLink简介

    Micro Air Vehicle Link(简称MAVLink)用于无人系统(例如,机器人、无人机、无人车、无人船和无人潜航器)。它定义了一组无人系统和地面站之间的消息交换规则。此协议广泛用于无人驾驶系统中,特别是ArduPilot和PX4无人驾驶系统,MAVLink协议提供了强大的功能,不仅用于监视和

    2024年02月02日
    浏览(37)
  • 物联网协议Coap之Core和NetWork简介

    目录 前言 一、Coap的Core包 1、Coap对象 2、Message对象 3、Request对象 4、Response对象 二、Coap的NetWork调试 1、UDP运行模式  2、Network消息接收 3、Sender线程发送数据  三、总结         在之前的博文中,对Californium中Coap的实现进行了简要的介绍,分别从Server和Client两端进行了基础

    2024年01月21日
    浏览(35)
  • EMQ & 明道云:零代码高效构建工业物联网设备管理平台

    智能物联网设备在 IIoT 场景中有着广泛的应用,但如何管理和监控这些设备是一个挑战。 明道云是一家专业的 hpaPaaS 平台服务商,其所开发的 明道云平台 (Mingdao Cloud)是一个企业软件设计和开发工具,让企业可以低代码或无代码搭建个性化的 CRM、ERP、OA、项目管理、进销存

    2024年02月11日
    浏览(31)
  • 集群服务器通信协议:TIPC简介

    1.TIPC协议简介    TIPC是爱立信公司提出的一种透明进程间通信协议(Transparent Interprocess Communication), 主要适用于高可用(HAL)和动态集群环境. 该软件当前主要由风河(windriver)公司在维护, 主要支持Linux, Solaris 和 VxWorks三种操作系统, 从Linux内核2.6.34开始支持TIPC的最新版本2.0, 不过还

    2024年02月08日
    浏览(32)
  • 物联网通信协议-MQTT及使用python实现

    简述 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的\\\"轻量 级\\\"通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作

    2024年02月10日
    浏览(35)
  • 使用4G通信模块和MQTT协议,完成物联网设备开发。

    (1)安装并使用4G模块通信模块,建立microPython开发环境; (2)使用提供的Demo开发例程,使用MQTT传输协议连接阿里或腾讯网站,完成物联网设备开发。 (3)将温湿度信息上传到网站; (4)手机APP查看数 这是第一步,在阿里云平台创建产品和设备,用来将实际的设备数据

    2024年02月04日
    浏览(47)
  • Python物联网开发-Python_Socket通信开发-Python与Tcp协议物联网设备通信-Socket客户端

            Python在物联网开发中的重要愈来愈重,因此,掌握Python语言与物联网设备之间的通信就显得尤为重要,可以通过编写Python程序实现获取物联网设备的传感器数值并可以更改物联网设备上的执行器状态。         首先,当使用Python进行Socket通信时,需要导入Python的so

    2024年02月17日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包