gRPC

gRPC is an open-source Remote Procedure Call mechanism developed by Google. It allows applications written in a range of well-known programming languages, including Go, to exchange data.

This is important to Go developers because most of us work in an existing software environment written in Java, C# or whatever, and anything we write in Go will have to interwork with that.

The Go version of the gRPC distribution includes example of clients and servers communicating over a clear-text channel, but they don't show how to create an authenticated connection or an encrypted (SSL) channel. Both of these are required in most enterprise environments, so Simon Ritchie enhanced one of the standard examples showing how to do this.

The github page for the enhanced example explains how to install Protocol Buffers and gRPC. It can be found here.