Joshua Humphries, David Konsumer, David Muto, Robert Ross & Carles Sistare
"I can see this book being key to solving a lot of unknowns before starting to build a complex system with gRPC.”
- David Gasquez, Software Developer
"I learned a few things about the evolution of HTTP and error handling in gRPC, as well as how easy it is to do some more advanced things with protoc such as generating swagger definitions and exposing JSON endpoints.”
-Jeff Willette, grpc-web contributor
This book is for engineers writing applications with different components that need to talk to each other. If you are a backend developer who wants a solution with better performance than JSON and REST for connecting microservices, this book is for you. If you are looking for strong contracts and streaming when building APIs and services, this book is also for you.
This book will introduce you to gRPC and explain how it compares and contrasts with similar technologies. It will introduce you to Protocol Buffers, a key technology for using gRPC. It then provides information on how to make use of gRPC, from the most basic of usage, all the way to advanced capabilities. And it also provides lots of information for making the most of gRPC: from best practices for defining and evolving your gRPC APIs to tools in the ecosystem and how they can be leveraged to get the most out of gRPC and even extend it.
This book explains gRPC, at multiple layers and with precise examples, to empower engineers to build these types of systems. It’s for engineers who want to know the entire gradient, from the simplest form of issuing an RPC to more advanced functionality and even how the RPC itself is structured on the wire.
By the end of this book, you should have a clear understanding of the following:
•What gRPC is and what its role is in applications.
•How to use Protocol Buffers and gRPC to connect systems.
• The mechanics of gRPC, including the underlying HTTP/2 protocol as well as how data is serialized and de-serialized.
•Tools and practices to aid with successfully implementing gRPC in
The book includes code samples in several languages. Most of the examples are simple enough that you don’t need to be an expert in any particular language to follow along. In fact, you may not be familiar with the given language at all, but should still be able to follow the logic and intent. Having said that, Go and Ruby developers will likely find themselves most comfortable reading the code because most of the examples are in those two languages.
Table of Contents
CHAPTER 1: Introduction
CHAPTER 2: What is gRPC?
CHAPTER 3: What are Protocol Buffers?
Chapter 4: gRPC Basics
Chapter 5: Star Friends (example)
Chapter 6: Streaming gRPC calls
Chapter 7: Advanced gRPC
Chapter 8: HTTP2 overview
Chapter 9: Load balancing
Chapter 10: Service evolution with gRPC
Chapter 11: Extending gRPC services
Chapter 12: Debugging gRPC