gRPC is an open source framework for general-purpose Remote Procedure Calls across the network. gRPC is mostly aligned with HTTP 2 semantics, and also allows full-duplex streaming in contrast. It supports different media formats like Protobuf (default), JSON, XML, Thrift, and more, though Protocol Buffer (Protobuf) is performance-wise much higher than others.
You may wonder whether g stands for Google in gRPC. It sounds logical, since it was initially developed by Google. In fact, g's meaning is changed with every release. g stands for gRPC in version 1.0, that is, gRPC was gRPC Remote Procedure Call. We are going to use version 1.17 in this chapter. For this release, g stands for gizmo, that is, gizmo Remote Procedure Call (gRPC). You can track all the g references at https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md.
gRPC is a layered architecture...