Introducing gRPC
There are many options when it comes to how our services will communicate with each other and how clients will communicate with the services, and Go kit doesn't care (rather, it doesn't mind–it cares enough to provide implementations of many popular mechanisms). In fact, we are able to add multiple options for our users and let them decide which one they want to use. We will add support the familiar JSON over HTTP, but we are also going to introduce a new technology choice for APIs.
gRPC, short for Google's Remote Procedure Call, is an open source mechanism used to call code that is running remotely over a network. It uses HTTP/2 for transport and protocol buffers to represent the data that makes up services and messages.
An RPC service differs from RESTful web services because rather than making changes to data using well-defined HTTP standards, as you do with REST (POST
to create something, PUT
to update something, DELETE
to delete something, and so on), you are triggering...