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
isfk e8167a8b79
update plugins version & remove replace (#2118)
* update memory registry plugins version & remove replace

* update plugins version & remove replace

Co-authored-by: 申法宽 <shenfakuan@163.com>
2021-02-05 09:09:25 +00:00
..
proto update v3 plugins (#2105) 2021-01-20 21:01:10 +00:00
go.mod update plugins version & remove replace (#2118) 2021-02-05 09:09:25 +00:00
go.sum update v3 plugins (#2105) 2021-01-20 21:01:10 +00:00
grpc_test.go update v3 plugins (#2105) 2021-01-20 21:01:10 +00:00
grpc.go update v3 plugins (#2105) 2021-01-20 21:01:10 +00: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`),
})