create emqx project

Feng Lee 28c5ff52b2 Merge pull request #258 from emqtt/dev-hd il y a 10 ans
deps 3a6ed9a876 0.2 project structure il y a 11 ans
doc 4ff7f9b2fe global unique id il y a 10 ans
ebin b078565e1c ebin il y a 10 ans
include 506dc0bd06 Add headers to mqtt_client il y a 10 ans
plugins c3778a56a1 up dashboard il y a 10 ans
rel 307bce2e1d plugins load for windows il y a 10 ans
src 6d4351e8a9 priority il y a 10 ans
test 991d658438 add more match tests il y a 10 ans
.gitignore 46732bcd72 ebin/.placeholder il y a 10 ans
.gitmodules 0a7aa5857b add plugins/emqttd_plugin_template il y a 10 ans
.travis.yml db6d9cc49b add il y a 11 ans
CHANGELOG.md b0f4d8a20b connected il y a 10 ans
LICENSE f10ba287f6 gen_server2 il y a 10 ans
Makefile a9eb3c83ce plugins il y a 10 ans
PLUGIN.md 30f6567c39 submodule il y a 10 ans
README.md 62618027e3 0.10.0 il y a 10 ans
rebar 2d2aa2f79a upgrade esockd, mochiweb il y a 11 ans
rebar.config 207c50bf14 lib_dirs il y a 10 ans

README.md

Overview Build Status

emqttd is a massively scalable and clusterable MQTT V3.1/V3.1.1 broker written in Erlang/OTP. emqttd support both MQTT V3.1/V3.1.1 protocol specification with extended features.

emqttd requires Erlang R17+ to build.

Goals

emqttd is aimed to provide a solid, enterprise grade, extensible open-source MQTT broker for IoT, M2M and Mobile applications that need to support ten millions of concurrent MQTT clients.

  • Easy to install
  • Massively scalable
  • Easy to extend
  • Solid stable

Features

  • Full MQTT V3.1/V3.1.1 protocol specification support
  • QoS0, QoS1, QoS2 Publish and Subscribe
  • Session Management and Offline Messages
  • Retained Messages Support
  • Last Will Message Support
  • TCP/SSL Connection Support
  • MQTT Over Websocket(SSL) Support
  • HTTP Publish API Support
  • $SYS/brokers/# Support
  • Client Authentication with clientId, ipaddress
  • Client Authentication with username, password.
  • Client ACL control with ipaddress, clientid, username.
  • Cluster brokers on several servers.
  • Bridge brokers locally or remotelly
  • 500K+ concurrent clients connections per server
  • Extensible architecture with Hooks, Modules and Plugins
  • Passed eclipse paho interoperability tests

Modules

Plugins

Dashboard

The broker released a simple web dashboard in 0.10.0 version.

Address: http://host:18083

Design

emqttd architecture

QuickStart

Download binary packeges for linux, mac and freebsd from http://emqtt.io/downloads.

For example:

unzip emqttd-ubuntu64-0.10.0-beta-20150820.zip && cd emqttd

# start console
./bin/emqttd console

# start as daemon
./bin/emqttd start

# check status
./bin/emqttd_ctl status

# stop
./bin/emqttd stop

Build from source:

git clone https://github.com/emqtt/emqttd.git

cd emqttd && make && make dist

GetStarted

Read emqtt wiki for detailed installation and configuration guide.

Benchmark

Benchmark 0.6.1-alpha on a ubuntu/14.04 server with 8 cores, 32G memory from QingCloud:

200K+ Connections, 200K+ Topics, 20K+ In/Out Messages/sec, 20Mbps+ In/Out with 8G Memory, 50%CPU/core

License

The MIT License (MIT)

Contributors

Author

Feng Lee feng@emqtt.io