Gmqtt是用Go语言实现的一个具备灵活扩展能力、高性能的MQTT broker,其完整实现了MQTT V3.1.1和V5协议。
功能特性
- 内置了许多实用的钩子方法,使用者可以方便的定制需要的MQTT服务器(鉴权,ACL等功能)
- 支持tls/ssl以及ws/wss
-
提供扩展编程接口,可以通过函数调用直接往broker发消息,添加删除订阅等。详见
server.go
的Server
接口定义,以及 admin插件。 -
丰富的钩子方法和扩展编程接口赋予了Gmqtt强大的插件定制化能力。详见
server/plugin.go
和/plugin
。 - 提供监控指标,支持prometheus。 (plugin: prometheus)
- GRPC和REST API 支持. (plugin:admin)
- 支持session持久化,broker重启消息不丢失,目前支持redis持久化。
- 支持集群, 示例和详情请参考federation plugin。