emqttd 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
emqttd 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
emqttd 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 Apache 2.0
开发语言 ErLang 查看源码 »
操作系统 跨平台
软件类型 开源软件
开源组织
地区 国产
投 递 者 emqtt
适用人群 未知
收录时间 2015-05-29

软件简介

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
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (17)

加载中
可以持久化到数据库吗?
2019/06/29 17:56
回复
举报
需要你自己集成kafka
2019/10/31 10:41
回复
举报
打分: 力荐
该评论暂时无法显示,详情咨询 QQ 群:912889742
该评论暂时无法显示,详情咨询 QQ 群:912889742
坐等7月昆明实习
2017/06/26 14:14
回复
举报
打分: 力荐
是否不支持通过rest添加MQTT账户密码?
2017/06/10 12:16
回复
举报
打分: 力荐
支持微信小程序了啊。。。坐等正式版发布。致敬~
2017/05/22 11:42
回复
举报
麻烦各位,请教个问题,集群的时候如何添加2个以上的节点
2017/05/02 17:04
回复
举报
打分: 力荐
有谁知道emqttd是否能实现离线消息。客户端先链接了,后面断开,服务器发一条消息给客户端后,客户端又重新链接上,客户端收不到服务器在客户端断开时发送的消息。
2017/03/27 09:58
回复
举报
可以,将retain设置为true,客户端再上线可以继续收到消息。
2019/10/31 10:06
回复
举报
打分: 力荐
emqttd怎么配置多核运行,12核只用一个核,压力好大呀
2017/02/23 19:49
回复
举报
#emqttd# 消息持久化???
2017/02/18 19:23
回复
举报
更多评论
发表于行业趋势专区
2020/12/31 12:06

emqttd 开发商 EMQ 完成近 1.5 亿元 B 轮融资

emqttd 开发商 EMQ 宣布完成近 1.5 亿人民币的 B 轮融资。 emqttd(现在称作 EMQ X)采用 Erlang 编写,是一款完全开源,高度可伸缩,高可用的分布式 MQTT 消息服务器,适用于 IoT、M2M 和移动应用程序,可处理千万级别的并发客户端。经过多年近 160 个版本迭代,逐渐演进为 5G & IoT 融合数据接平台,具备高可靠性、高承载能力、低延时、完整协议支持等功能特点。 据介绍,EMQ 公司于 2017 年在杭州成立,是面向 IoT 与 5G 场景...

22
10
发表于服务端专区
2018/12/03 10:31

EMQ X 3.0-rc.5 发布,支持 `metrics` 的批量提交

EMQ X 3.0-rc.5版本发布,该版本支持 `metrics` 的批量提交和修复错误 功能改进 减小依赖大小 支持 `metrics` 的批量提交 优化 `mnesia/ets` 的并行读写性能 问题修复 修复 `emqx_router` 中的 'function_clause' 错误 启动过程中移除 `simple` 日志句柄 修复 `emqx_reason_codes` 模块可能出现参数异常的问题 emqx-passwd 功能改进 支持 Rebar3 emqx-web-hook 功能改进 支持 Rebar3 问题修复 修复 `emqx-web-hook` 发送 `HTTP`...

0
2
发表于软件架构专区
2018/11/26 11:14

EMQ X 3.0-rc.4 发布,改进日志与构建功能

EMQ X 3.0-rc.4版本发布,该版本改进日志功能,部分项目支持 `Rebar3` 构建 功能改进 为使用 `MQTT v3.1.1`的客户端提供避免 `loop delivery` 的功能 支持使用 `username` 代替 `client_id`,默认不开启 默认日志类型为 `both` 添加控制日志等级的命令行接口 改进 log tracer 的命令行接口 优化日志性能 问题修复 修复用户属性的类型验证 修复 `max_topic_alias` 配置项的错误描述 当 `client_id` 为空时,将 `proc meta-data`...

0
1
发表于软件架构专区
2018/11/12 10:21

EMQ X 3.0-rc.3 版本发布,MQTT 消息服务器

EMQ X 3.0-rc.3版本发布,该版本重构 emqx_mqueue 代码,支持 MQTT-SN, CoAP 与 STOMP 协议: 功能改进 将 `QOS$i` 替换为 `QOS_$i` 更新配置文件中 `ACL cache` 的描述信息 重构 `emqx_mqueue` 代码 `lager` 替换为 `OTP logger` 问题修复 修复重复订阅时的 'badarg' 错误 修复 `emqx_message:format` 函数 'badarg' 错误 修复 `MQTT bridge` 无法使用 `TLS` 连接的问题 emqx-stomp 功能改进: 增强 `receipt` 报文支持,增加测试...

3
7
发表于服务端专区
2018/10/23 14:58

EMQ X 3.0-rc.1 版本发布,MQTT 消息服务器

EMQ X 3.0-rc.1版本发布,该版本新增 `request` & `response` 以及 LwM2M 插件,修复 `PUBLISH` 验证问题。 功能改进 为 `CONNECT` & `CONNACK` 报文添加 `request` & `response` 支持 为未认证的订阅添加警告信息 增加 `emqx_hooks` 的测试覆盖率, 为 `emqx_mod_sup` 模块增加测试用例 问题修复 更新 ACL 文档链接 修复验证 PUBLISH 报文时的匹配问题 修复某些情况下不返回 `Reason Code` 给 client 的 BUG 修复 `emqx_client...

1
3
发表于开发技能专区
2018/09/30 09:57

EMQ X 3.0-beta.4 发布,MQTT 消息服务器

功能改进 为进程自定义max_heap_size 改进 Topic 别名Maximum、连接Receive Maximum 修复共享订阅 sticky 策略 pick ID 方式 Zone新增 Mountpoint 配置 修复make app.config错误 修复Hooks参数错误 改进 travis 构建支持rebar3 xref 升级依赖库esockd至v5.4.2 升级依赖库 erlang-bcrypt 至0.5.1 emqx-delayed-publish 修复消息延时发布 emqx-passwd 改进check_pass方式,供各类认证插件调用 bcrypt 改进bcrypt验证方式 esockd 新...

0
5
发表于DevOps专区
2018/09/26 10:57

EMQ X 3.0-beta.3 发布,新增共享订阅派发策略功能

功能改进 修复 travis 构建 更新模块emqx_mqueue.erl文档说明 新增共享订阅派发策略 修复emqx_pool模块参数错误 新增强制shutdown策略 改进KeepAlive检测算法 修复跨节点消息投递 改进Bridge设计 改进force_gc_policy配置 修复Maximum-QoS选项值 为进程自定义max_heap_size 升级依赖库esockd至v5.4.1 问题修复 订阅API,主题属性支持通配符 WebSocket 连接新增Path配置 修复报文尺寸过大导致block问题 新增函数check_expiry 修复...

0
1
发表于运维专区
2018/09/11 11:12

EMQ X 3.0-Beta.2 发布,包含对 MQTT 5.0 新特性的改进

EMQ X 主工程 功能改进: 支持 MQTT 5.0 'subscription options' 增加对 MQTT 5.0 'Topic-Alias' 的校验 改进 hooks 的设计 将模块 'emqx_mqtt_properties' 重命名为 'emqx_mqtt_props' 改进 emqx_zone 问题修复: 修复了 'Will Delay Interval' 属性处理错误 修复了 'Reserved' 标志位的处理错误 为单元测试生成配置文件 emqx-management (插件) 功能改进: 增加 'banned' 功能的 restful API emqx-delayed-publish (插件) 功能改...

1
2
发表于开发技能专区
2018/09/05 14:21

EMQ X 3.0-beta.1 版本发布,完整支持 MQTT-5.0 协议

EMQ X 3.0-beta.1 版本发布,版本别名: The Promise of Tomorrow。兼容 MQTT-3.1.1 协议的同时, 完整支持 MQTT-5.0 协议。此外还增加了很多实用的功能特性,重构了核心组件,提升了系统的伸缩性和扩展能力。 全面支持 MQTT-5.0 EMQ X 3.0 版本实现了大多数的 MQTT-5.0 特性,主要的 MQTT-5.0 新特性一览: 增加了新的 MQTT 控制报文类型: AUTH MQTT-5.0 里新增加了一个 AUTH 类型的报文,用来实现相对复杂的认证交互流程。 Sess...

1
5
发表于开发技能专区
2018/03/26 09:17

EMQ 2.3.6 正式版发布, JWT 认证插件支持 exp 字段

EMQ 2.3.6 版本发布,JWT 认证插件支持校验 exp 字段,支持对 LWT 消息进行 ACL 鉴权。 Bugfix and Enhancements Security: LWT message checking the ACL (#1524) Bugfix: Retain msgs should not be sent to existing subscriptions (#1529) emq-auth-jwt Validate JWT token using a expired field (#29)...

0
4
发表于运维专区
2018/03/05 12:16

EMQ 2.3.5 正式版发布, 支持基于 TLS 连接集群

EMQ 2.3.5 版本发布,新增 etc/ssl_dist.conf 配置文件,正式支持基于 TLS 连接集群。 Bug 修复和增强 Feature: Add etc/ssl_dist.conf file for erlang SSL distribution (emq-relx#178) Feature: Add node.ssl_dist_optfile option and etc/ssl_dist.conf file (#1512) Feature: Support Erlang Distribution over TLS (#1512) Improve: Tune off the 'tune_buffer' option for external MQTT connections (#1512) emq-sn Cl...

1
2
发表于开发技能专区
2018/01/29 11:48

EMQ 2.3.4 正式版发布, 支持基于 IPv6 地址集群

EMQ 2.3.4 版本发布,正式支持基于 IPv6 地址集群,支持通过 NGINX/HAProxy 的X-Forwarded-For, X-Forwarded-Port 头获取WebSocket连接原始IP地址。 Bugfix and Enhancements Feature: Forward real client IP using a reverse proxy for websocket (#1335) Feature: EMQ node.name with link local ipv6 address not responding to ping (#1460) Feature: Add PROTO_DIST_ARG flag to support clustering via IPv6 address. (#...

3
5
发表于开发技能专区
2018/01/11 09:12

EMQ 2.3.3 正式版发布, 支持终端 X.509 证书认证

EMQ 2.3.3 版本发布,正式支持终端 X.509 证书认证,支持HAProxy Protocol V2,支持ARM平台编译部署。 Bugfix and Enhancements Add a full documentation for `emq.conf` and plugins. Repair a dead link in README - missing emq-lwm2m. (#1430) Subscriber with wildcard topic does not receive retained messages with sub topic has $ sign (#1398) Web Interface with NGINX Reverse Proxy not working. (#953) emq-da...

2
1
发表了资讯
2017/11/23 09:12

EMQ 2.3.0 正式版发布, 百万级 MQTT 消息服务器

EMQ 2.3.0 正式版发布,改进了 PubSub 设计与消息路由性能,更新 EMQ 自带的自签名 SSL 证书,改进 Dashboard 界面与 API 设计。 Bugfix and Enhancements Fixed the issue that Retained message is not sent for Subscribe to existing topic. (emqttd#1314) Fixed the issue that The DUP flag MUST be set to 0 for all QoS0 messages.(emqttd#1319) Improve the pubsub design and fix the race-condition issue. (emqttd#...

1
28
发表了资讯
2017/08/14 11:26

EMQ 2.3-beta.2 发布, 百万级 MQTT 消息服务器

EMQ R2.3-beta.2 版本正式发布!该版本新增HTTP管理API,支持集群粒度的连接与会话管理,集群节点的性能指标监控,并支持节点、插件配置通过命令行热更新。 支持配置热更新的插件包括: emq-stomp emq-coap emq-sn emq-lwm2m emq-dashboard emq-retainer emq-recon emq-web-hook emq-auth-jwt emq-auth-http emq-auth-mongo emq-auth-mysql emq-auth-pgsql emq-auth-redis 功能与改进 新增集群粒度的HTTP管理API HTTP Publish接口...

2
26
发表了资讯
2017/07/25 10:15

EMQ 2.3-beta.1 发布, 百万级 MQTT 消息服务器

EMQ R2.3-beta.1版本发布!该版本正式支持集群节点自动发现与集群脑裂自动愈合,支持基于IP Multicast、Etcd、Kubernetes等多种策略自动构建集群。 节点发现与自动集群 EMQ R2.3 版本支持多种策略的节点自动发现与集群: 集群脑裂与自动愈合 EMQ R2.3版本正式支持集群脑裂自动愈合(Network Partition Autoheal): cluster.autoheal = on 集群脑裂自动恢复流程: 节点收到Mnesia库的'inconsistent_database'事件3秒后进行集群脑裂...

4
36
发表了资讯
2017/07/03 10:59

EMQ 2.2-rc.2 发布, 百万级 MQTT 消息服务器

EMQ 2.2-rc.2 版本正式发布。本次更新主要是 bug 修复和功能增强,详细如下: 源码编译兼容Erlang/OTP R20 完整支持CoAP(RFC7252)、MQTT-SN协议 支持重启TCP/SSL监听器更新SSL证书: 下载地址 Source code (zip) Source code (tar.gz)

2
28
发表了资讯
2017/06/15 10:26

EMQ 2.2-rc.1 发布, 百万级 MQTT 消息服务器

EMQ 2.2-rc.1 版本正式发布。新增HTTP管理API监听器,修复涂鸦上报的session注册race condition问题。其他更新: Add a new listener for HTTP REST API (emqttd#1094) Fix the race condition issue caused by unregister_session/1 (emqttd#1096) Fix the issue that we cannot remove a down node from the cluster (emqttd#1100) Passed org.eclipse.paho.mqtt_sn.testing/interoperability tests (emq_sn#29) Fixed the i...

2
25
发表了资讯
2017/05/22 10:34

EMQ 2.2-beta.2 发布, 百万级 MQTT 消息服务器

EMQ 2.2-beta.2版本正式发布。新增'websocket_protocol_header'配置项,支持微信小程序WebSocket连接EMQ;支持Elixir语言开发EMQ插件。 问题修复 新增'websocket_protocol_header'配置项,支持微信小程序WebSocket方式连接EMQ。(emqttd#1060) MQTT-SN客户端分配用户名(username)、密码(password) (emqttd#1041) HTTP API支持‘Content-Type:application/json’ (emqttd#1045, emqttd#1059) Check St0's type, making it easier ...

2
31
发表了资讯
2017/05/08 09:11

EMQ 2.2-beta.1 发布, 百万级 MQTT 消息服务器

EMQ 2.2-beta.1版本正式发布。 EMQ 2.2正式支持MQTT协议多监听器配置,支持HAProxy的Proxy Protocol V1/V2。新增Web Hook插件(emq-web-hook)、Lua Hook插件(emq-lua-hook)。 MQTT协议监听器配置 一个EMQ节点可配置多个MQTT协议监听端口,例如下述配置external, internal监听器,分别用于设备连接与内部通信:                          ------- -- External TCP 1883 --> |     |     ...

6
39
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
2019/12/11 19:10

emqttd学习教程(二):emqttd配置说明

一、配置文件说明 emqttd消息服务器通过 etc/ 目录下配置文件进行设置,主要配置文件包括: 配置文件 说明 etc/emq.conf 消息服务器配置文件 etc/acl.conf 默认ACL规则配置文件 etc/plugins/*.conf 各类插件配置文件 二、集群设置 ##-------------------------------------------------------------------- ## Cluster ##-------------------------------------------------------------------- cluster.name = emqcl ...

0
0
发表了博客
2018/03/20 18:08

emqttd 2.2安装和测试使用

Emqttd1:192.168.88.61  Emqttd2:192.168.88.62  Emqttd3:192.168.88.63  Redis:192.168.88.64  Haproxy:192.168.88.65 系统优化配置: ulimit -n 1048576 sysctl -w fs.file-max=2097152 sysctl -w fs.nr_open=2097152 sysctl -w net.core.somaxconn=65535 一、解压、安装、修改配置: $ unzip emqttd-centos6.8-v2.2.0.zip $ cd emqttd $ vi etc/emq.conf   #node.name   node.name = emqttd@192.168.88.61   ...

0
0
发表了博客
2019/04/24 09:49

使用Emqttd搭建一个聊天室

## 前言 > 由于项目需要,目前需要使用Emqttd搭建一个聊天室,自己写了个demo,特记录下来 ## 代码 ### 使用IDEA搭建一个`Spring Boot`工程 1. pom.xml文件,此处我只列出`dependencies`部分 ```xml com.alibaba fastjson 1.2.49 org.fusesource.mqtt-client mqtt-client 1.14 org.springframework.boot spring-boot-starter-freemarker org.springframework.boot spring-boot-starter-web org.springframework.boot spring-bo...

0
0
发表了博客
2018/02/10 10:41

Centos7.2 搭建emqttd集群,添加自启动服务

关闭防火墙(可选): systemctl stop firewalld.service 1.安装依赖库 > sudo yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel 2.获取源码包 > wget http://www.erlang.org/download/otp_src_R13B04.tar.gz 3.解压、编译、安装 > tar xfvz otp_src_R13B04.tar.gz > cd otp_src_R13B04/ > ./configure --with-ssl > make install 4.可能遇到的错误 http://blog.csdn.net/laughing_cui/article/de...

0
0
发表于软件架构专区
2018/11/29 11:21

EMQ 安装 —— Windows 7

# EMQ 安装 —— Windows 7 本文是在 Windows 7(64 bit)操作系统中安装 EMQ 2.0 (Erlang/Enterprise/Elastic MQTT Broker) 的指导。 1. 下载 [EMQ](http://www.emqtt.com/downloads "EMQ"),本文使用 `emqttd-windows7-v2.3.11.zip`; 2. 将 EMQ 安装文件解压到本地目录(可自由选择); 3. 利用 `cmd` 命令进入 Windows 命令提示窗口,进入 EMQ 解压目录下的 `bin` 文件夹,输入命令 `emqttd console`,会自动打开 Erlang 窗...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
2020/10/09 08:43

EMQ X Broker 怎么配置某个topic下的通信规则为一对一通信的方式?

@emqtt 你好 我想要在mqtt协议环境下,实现一对一通信,但是mqtt协议是基于发布/订阅的通信模型,没有通信规则配置的话,任何客户端订阅某个topic,并发送消息,这个topic下的其他客户端节点都会收到消息,这是不行的。 EMQ X Broker如何配置某个topic下的通信规则为一对一通信的方式?我想通过发送端的发送消息内容确定要送达的接收方客户端id,然后根据接收方客户端id,将发送者客户端发送的消息内容传达给接收方客户端id。以...

3
0
发表了问答
2016/04/08 09:31

emqttd, 在java中使用dashboard 中提供的 HTTP API 时,报401认证错误。请问有相关的示例吗,我该怎么将认证信息传入呢。

在java中使用dashboard 中提供的 HTTP API 时,报401认证错误。请问有相关的示例吗,我该怎么将认证信息传入呢。 我大概写一下http方式的调用代码: URL url = new URL("http://localhost:18083/api/clients"); HttpURLConnection httpConn = (HttpURLConnection) url.openConnection(); httpConn.setRequestMethod("GET"); httpConn.setRequestProperty("Accept-Charset", "utf-8"); httpConn.setRequestProperty("Content-Typ...

2
0
发表了问答
2016/04/24 11:04

erlang语言开发环境 一般用什么

本人已经熟悉其语法,希望部署一个开发环境,用eclips还是其它了?

9
0
发表了问答
2015/11/17 12:57

请问web界面的默认用户名和密码是什么?

@emqtt 你好,想跟你请教个问题:请问web界面的默认用户名和密码是什么?

2
0
发表了问答
2015/09/15 15:05

怎么在PHP站点中应用emqttd?

我们公司网上是用thinkPHP做的,我在引进 emqttd ;emqttd 在 centos 安装好了,怎么应用到网站里面去?求大声指点

5
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
17 评论
371 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部