Protobuf in Go
Protobuf or Protocol Buffer encodes and decodes data so that different applications or modules written in unlike languages can exchange large numbers of messages quickly and reliably without overloading the communication channel. With protobuf, the performance is directly proportional to the number of message you tend to send. It compresses the message to to be sent into a serialized binary format by providing you with the tools to encode the message at the source and decode it at the destination.
There are two steps of using protobuf.
- First you must compile the protocol buffer definitions
- Import the above definitions, with the support library into your program.
If a proto file specifies RPC services, protoc-gen-go can be instructed to generate code compatible with gRPC (http://www.grpc.io/). To do this, pass the
plugins parameter to protoc-gen-go; the usual way is to insert it into the –go_out argument to protoc:
$ protoc --go_out=plugins=grpc:. *.proto