1
0
mirror of https://github.com/go-micro/go-micro.git synced 2025-03-17 20:28:06 +02:00
Johnson C af3cfa0a4c
remove unnecessary dependencies between plugins
remove unnecessary dependencies between plugins
upgrade go-micro.dev/v4 to v4.2.1
2021-10-23 16:20:42 +08:00
..
2021-10-12 12:55:53 +01:00
2020-12-26 15:32:45 +00:00
2021-10-12 12:55:53 +01:00
2021-10-12 12:55:53 +01:00
2021-10-12 12:55:53 +01:00

MQTT Broker

The MQTT broker is useful for IoT based applications

Usage

Drop in import

import _ "github.com/asim/go-micro/plugins/broker/mqtt"

Flag on command line

go run main.go --broker=mqtt

Alternatively use directly

import (
	"go-micro.dev/v4"
	"github.com/asim/go-micro/plugins/broker/mqtt"
)


func main() {
	service := micro.NewService(
		micro.Name("my.service"),
		micro.Broker(mqtt.NewBroker()),
	)
}

Encoding

Because MQTT does not support message headers the plugin encodes messages using JSON. If you prefer to send and receive the mqtt payload uninterpreted use the noop codec.

Example

import (
    "github.com/micro/broker"
    "github.com/micro/broker/codec/noop"
    "github.com/asim/go-micro/plugins/broker/mqtt"
)

b := mqtt.NewBroker(
    broker.Codec(noop.NewCodec()),
)