VerneMQ implements the full MQTT 3.1, 3.1.1 and 5.0 specifications. The current list of core features include:
- QoS 0, QoS 1, QoS 2 levels
- File-based Authentication and Authorization [docs]
- PostgreSQL, MySQL, Redis & MongoDB Authentication and Authorization [docs]
- Bridge Support [docs]
- $SYS Tree for monitoring and reporting [docs]
- TLS (SSL) Encryption [docs]
- Websockets Support [docs]
- Cluster Support [docs]
- Logging (Console, Files, Syslog) [docs]
- Reporting to Graphite [docs]
- Reporting to Prometheus [docs]
- Extensible Plugin architecture [docs]
- Shared Subscriptions [docs]
- Multiple Sessions per ClientId [docs]
- Session Balancing [docs]
- Message load regulation [docs]
- Message load shedding (for system protection) [docs]
- Offline Message Storage (based on LevelDB)
- Queue can handle messages FIFO or LIFO style. [docs]
- PROXY v2 Protocol [docs]
- Lua plugin scripting support [docs]
- Webhooks [docs]
- HTTP Administration API [docs]