1
0
mirror of https://github.com/go-micro/go-micro.git synced 2025-01-05 10:20:53 +02:00
go-micro/plugins/broker/grpc
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
..
proto update 2021-10-13 13:31:23 +01:00
go.mod remove unnecessary dependencies between plugins 2021-10-23 16:20:42 +08:00
go.sum remove unnecessary dependencies between plugins 2021-10-23 16:20:42 +08:00
grpc_test.go remove unnecessary dependencies between plugins 2021-10-23 16:20:42 +08:00
grpc.go update 2021-10-13 13:31:23 +01:00
README.md update v3 plugins (#2105) 2021-01-20 21:01:10 +00:00

GRPC Broker

The grpc broker is a point to point grpc broker.

Overview

This broker is like the built in go-micro http2 broker except it uses grpc and protobuf as the protocol and messaging format. It uses the go-micro registry to subscribe to a topic, creating a service for that topic. Publishers lookup the registry for subscribers and publish to them, hence point to point.

Usage

import (
	"github.com/asim/go-micro/plugins/broker/grpc"
)

// create and connect (starts a grpc server)
b := grpc.NewBroker()
b.Init()
b.Connect()

// subscribe
sub, _ := b.Subscribe("events")
defer sub.Unsubscribe()

// publish
b.Publish("events", &broker.Message{
	Headers: map[string]string{"type": "event"},
	Body: []byte(`an event`),
})