Go to file
Martin Rauscher 94dfa95419 Prevent ALL access to $SYS from outside localhost.
The structure of $SYS is pretty well known or can be guessed and can contain non-public information and therefore should be protected.
2015-04-26 18:03:06 +02:00
apps stats 2015-04-25 23:57:38 +08:00
data mqtt 3.1.1 protocol 2015-01-08 14:25:38 +08:00
deps 0.2 project structure 2014-12-06 19:12:29 +08:00
doc websocket 2015-04-23 21:01:11 +08:00
plugins add presence plugin 2015-04-25 23:31:44 +08:00
rel Prevent ALL access to $SYS from outside localhost. 2015-04-26 18:03:06 +02:00
tests add tests 2015-01-11 23:27:20 +08:00
.gitignore add spec 2015-03-27 14:30:07 +08:00
.gitmodules add tests 2015-01-11 23:27:20 +08:00
.travis.yml add 2015-02-12 21:59:43 +08:00
CHANGELOG.md Plugin is OK 2015-04-26 00:02:50 +08:00
go fix go script 2015-04-13 15:47:11 +08:00
LICENSE frame -> packet 2015-01-10 00:00:16 +08:00
Makefile Plugins 2015-04-23 00:00:26 +08:00
quickstart.md fix readme 2015-04-26 01:28:00 +08:00
README.md architecture 2015-04-26 01:40:05 +08:00
rebar upgrade esockd, mochiweb 2015-03-02 01:40:22 +08:00
rebar.config merge master 2015-04-25 23:26:56 +08:00
TODO fix readme 2015-04-26 01:28:00 +08:00

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 aims to provide a solid, carrier-class MQTT broker that could support millions concurrent connections.

Architecture

TODO: architecture diagraph.

Error Png

TODO: architecture diagraph.

Featues

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

Getting Started

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

TODO: Getting Started Doc...

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

Sponsors

...Sponse us...

License

The MIT License (MIT)

Author

Feng Lee feng@emqtt.io