Erlang MQTT消息系统-emqtt
2015-09-21 13:30:04 阿炯

实际上包含两个部分:emqttd、emqttc,采用Erlang语言开发。


emqttd全面支持MQTT V3.1.1协议,支持集群和大规模连接的开源MQTT消息服务器。emqttd致力于发布一个基于Erlang/OTP语言平台,企业级稳定可靠,完全开源免费(与下面的客户端皆采用MIT协议授权),可集群支持大规模物联网、移动互联网连接的MQTT消息服务器。emqttd可跨平台运行在Linux、FreeBSD、Windows与 Mac OS X。


emqttc是一个 Erlang 的 MQTT 客户端,支持 MQTT V3.1/V3.1.1 协议规范,支持并行连接和连接自动恢复。要求 Erlang R17+。



emqttd 特点

* 全面支持MQTT V3.1/V3.1.1协议规范

* QoS0/1/2消息发布与订阅支持

* Session管理和离线消息支持

* Last Will消息支持

* Retained消息支持

* TCP/SSL连接支持

* MQTT over WebSocket连接支持

* HTTP Publish消息发布接口

* ‘$SYS/#’系统Topic支持

* 基于ClientId、IP地址认证支持

* 基于用户名、密码认证支持

* 基于ClientId、用户名、IP地址的ACL访问控制

* 多服务器集群(Cluster)支持

* 多节点桥接(Bridge)支持

* 单节点50万+客户端连接支持

* 插件扩展架构支持

* 通过Eclipse Paho项目的服务器互操作性测试

# 完全开放源码,多节点集群支持

* 开放源码, MIT开源软件许可协议

* 多服务器集群, 大规模客户端连接支持

* 安装简便, 下载解压即可启动运行

* 插件架构, 定制或扩展服务器功能

简单用法:

控制台模式启动,用于调试。控制台可以打印所有收发的MQTT报文
./bin/emqttd console

守护进程模式启动,默认占用1883端口用于MQTT连接,8083端口用于HTTP接口
./bin/emqttd start

查看运行状态
./bin/emqttd_ctl status

停止
./bin/emqttd stop


emqttc 特性

支持 MQTT V3.1/V3.1.1 协议

QoS0, QoS1, QoS2 发布和订阅

TCP/SSL Socket 支持

自动重连

Keepalive 和 ping/pong


项目主页:

emqttd

emqtt