8000 GitHub - rollend/emqttd: EMQ - Erlang MQTT Broker
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

rollend/emqttd

 
 

Repository files navigation

EMQ - Erlang MQTT Broker

Build Status

EMQ (Erlang MQTT Broker) is a distributed, massively scalable, highly extensible MQTT message broker written in Erlang/OTP.

EMQ is fully open source and licensed under the Apache Version 2.0. EMQ implements both MQTT V3.1 and V3.1.1 protocol specifications, and supports MQTT-SN, CoAP, WebSocket, STOMP and SockJS at the same time.

EMQ provides a scalable, reliable, enterprise-grade MQTT message Hub for IoT, M2M, Smart Hardware and Mobile Messaging Applications.

The 1.0 rele 9134 ase of the EMQ broker has scaled to 1.3 million concurrent MQTT connections on a 12 Core, 32G CentOS server.

Please visit emqtt.io for more service. Follow us on Twitter: @emqtt

Features

  • Full MQTT V3.1/V3.1.1 support
  • QoS0, QoS1, QoS2 Publish/Subscribe
  • Session Management and Offline Messages
  • Retained Message
  • Last Will Message
  • TCP/SSL Connection
  • MQTT Over WebSocket(SSL)
  • HTTP Publish API
  • MQTT-SN Protocol
  • STOMP protocol
  • STOMP over SockJS
  • $SYS/# Topics
  • ClientID Authentication
  • IpAddress Authentication
  • Username and Password Authentication
  • Access control based on IpAddress, ClientID, Username
  • JWT Authentication
  • LDAP Authentication/ACL
  • HTTP Authentication/ACL
  • MySQL Authentication/ACL
  • Redis Authentication/ACL
  • PostgreSQL Authentication/ACL
  • MongoDB Authentication/ACL
  • Cluster brokers on several nodes
  • Bridge brokers locally or remotely
  • mosquitto, RSMB bridge
  • Extensible architecture with Hooks and Plugins
  • Passed eclipse paho interoperability tests
  • Local Subscription
  • Shared Subscription
  • Proxy Protocol V1/2
  • Lua Hook and Web Hook
  • LWM2M Prototol Support

Installation

The EMQ broker is cross-platform, which can be deployed on Linux, Unix, Mac, Windows and even Raspberry Pi.

Download the binary package for your platform from http://emqtt.io/downloads.

Documentation on emqtt.io/docs/v2/, docs.emqtt.com for installation and configuration guide.

Build From Source

The EMQ broker requires Erlang/OTP R19+ to build since 2.1 release.

git clone https://github.com/emqtt/emq-relx.git

cd emq-relx && make

cd _rel/emqttd && ./bin/emqttd console

Plugins

The EMQ broker is highly extensible, with many hooks and plugins for customizing the authentication/ACL and integrating with other systems:

Plugin Description
emq_plugin_template Plugin template and demo
emq_dashboard Web Dashboard
emq_retainer Store MQTT Retained Messages
emq_modules Presence, Subscription and Rewrite Modules
emq_auth_username Username/Password Authentication Plugin
emq_auth_clientid ClientId Authentication Plugin
emq_auth_mysql MySQL Authentication/ACL Plugin
emq_auth_pgsql PostgreSQL Authentication/ACL Plugin
emq_auth_redis Redis Authentication/ACL Plugin
emq_auth_mongo MongoDB Authentication/ACL Plugin
emq_auth_http Authentication/ACL by HTTP API
emq_auth_ldap LDAP Authentication Plugin
emq_auth_jwt JWT Authentication Plugin
emq_web_hook Web Hook Plugin
emq_lua_hook Lua Hook Plugin
emq_sn MQTT-SN Protocol Plugin
emq_coap CoAP Protocol Plugin
emq_stomp Stomp Protocol Plugin
emq_lwm2m LWM2M Prototol Plugin
emq_recon Recon Plugin
emq_reloader Reloader Plugin
emq_sockjs SockJS(Stomp) Plugin

Supports

Test Servers

The q.emqtt.com hosts a public Four-Node EMQ cluster on QingCloud:

qing_cluster

License

Apache License Version 2.0

About

EMQ - Erlang MQTT Broker

Resources

License

Apache-2.0, Unknown licenses found

Licenses found

Apache-2.0
LICENSE
Unknown
LICENSE-MPL-RabbitMQ

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Erlang 99.7%
  • Makefile 0.3%
0