This implementation is similar to AMQP notifications: * Notifications are published on a single topic as a JSON feed * Topic is configurable, as is the QoS. Uses the paho.mqtt.golang library for the mqtt connection, and supports connections over tcp and websockets, with optional secure tls support. * Additionally the minio server configuration has been bumped up so mqtt configuration can be added. * Configuration migration code is added with tests. MQTT is an ISO standard M2M/IoT messaging protocol and was originally designed for applications for limited bandwidth networks. Today it's use is growing in the IoT space.
1.9 KiB
Eclipse Paho MQTT Go client
This repository contains the source code for the Eclipse Paho MQTT Go client library.
This code builds a library which enable applications to connect to an MQTT broker to publish messages, and to subscribe to topics and receive published messages.
This library supports a fully asynchronous mode of operation.
Installation and Build
This client is designed to work with the standard Go tools, so installation is as easy as:
go get github.com/eclipse/paho.mqtt.golang
The client depends on Google's websockets package, also easily installed with the command:
go get golang.org/x/net/websocket
Usage and API
Detailed API documentation is available by using to godoc tool, or can be browsed online using the godoc.org service.
Make use of the library by importing it in your Go client source code. For example,
import "github.com/eclipse/paho.mqtt.golang"
Samples are available in the cmd
directory for reference.
Runtime tracing
Tracing is enabled by assigning logs (from the Go log package) to the logging endpoints, ERROR, CRITICAL, WARN and DEBUG
Reporting bugs
Please report bugs by raising issues for this project in github https://github.com/eclipse/paho.mqtt.golang/issues
More information
Discussion of the Paho clients takes place on the Eclipse paho-dev mailing list.
General questions about the MQTT protocol are discussed in the MQTT Google Group.
There is much more information available via the MQTT community site.