emqttd - Erlang MQTT消息服务器


Apache 2.0
跨平台
ErLang

软件简介

简介

emqttd (简称 EMQ ),基于 Erlang 语言平台开发,是一款完全开源,高度可伸缩,高可用的分布式 MQTT 消息服务器。EMQ
支持大规模 MQTT 连接和分布式集群,同时也支持 CoAP/LwM2M 一站式 IoT 协议接入。

EMQ 是 5G 时代万物互联的消息引擎,适用于 IoT、M2M2 和移动应用程序,可处理千万级别的并发客户端,帮助企业快速构建物联网平台与应用。

特性

EMQ
作为物联网应用开发和物联网平台搭建的基础设施软件之一,主要在边缘和云端实现物联网设备互联与设备上云,提供物联网设备接入、协议处理、消息路由、数据存储、流数据处理等核心能力。其特性如下:

  • 物联网设备一站式连接。3G/4G/5G&NB-IoT 全网络支持,TLS/DTLS 多重网络安全,X.509 证书等多种身份认证;
  • 基于 Erlang/OTP 电信级软实时消息架构,支持海量 MQTT/TCP 连接。大规模分布式,高可用集群架构,弹性伸缩部署;
  • 内置扩展插件架构,支持以插件方式提供认证、ACL、存储接口,能非常方便的与上层物联网应用及其他 IT 系统快速集成;
  • 多种物联网协议支持。完整支持 MQTT V5.0 协议规范,并下兼容 MQTT V3.1 和 V3.1.1,还可扩展支持 MQTT-SN、CoAP、LwM2M、WebSocket、STOMP 或私有 TCP 等多种物联网协议;
  • 内置高性能的规则引擎,一站式数据提取、过滤与转换。灵活集成 SQL、NoSQL、时序数据库,及 Kafka 等流处理中间件。
  • 从资源受限的边缘计算设备,到私有云、混合云和公共云之上,到跨域、跨 IDC 与跨多云,EMQ 支持物理机、VM、容器/K8S 跨平台任意部署;
  • 完全开放源码,基于 Apache许可证 2.0 开源协议。

安装

EMQ 是跨平台的,支持 Linux、Unix、 MacOS 以及 Windows。这意味着 EMQ 既可以部署在 x86_64
架构的服务器上,也可以部署在 Raspberry Pi 这样的 ARM 设备上。

  • 使用 EMQ Docker 镜像进行快速安装:

    docker run -d –name emqx -p 1883:1883 -p 8083:8083 -p 8883:8883 -p 8084:8084 -p 18083:18083 emqx/emqx

  • 访问官网下载页面:https://emqx.io/cn/downloads 进行下载。