Jump to ratings and reviews
Rate this book

Practical gRPC

Rate this book
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 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

•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
your applications.

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.

215 pages, Kindle Edition

Published June 8, 2018

14 people are currently reading
21 people want to read

About the author

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
1 (7%)
4 stars
6 (46%)
3 stars
6 (46%)
2 stars
0 (0%)
1 star
0 (0%)
Displaying 1 - 3 of 3 reviews
Profile Image for Ahmad A..
78 reviews20 followers
November 20, 2019
A light and informative book about gRPC. Unlike other reviewers, I liked the fact it didn't contain examples in my primary programming languages (Python, C# and JS), as it forced me to 1) remember Ruby, and 2) learn a bit more about Golang and make sense of the different nuances that go with server/client code generation in different programming languages. The different examples help in understanding the commonalities and differences of different implementations of servicers and stubs, which is valuable in case you want to introduce gRPC into a heterogeneous environment. The book definitely explains the different concepts and features more than the docs, as well as, provide the reader with an overview of HTTP/2, but it doesn't go much into Stylguide and related issues a team would face, and in that regard I would recommend the reader to take a look at Google's and Uber's Protocol Buffers Styleguides, as they also shed more light on what might be the challenges of shipping production software with this tech-stack. Overall, this is a good and light book on a nice and battle-tested API framework.
Profile Image for Phil Wilkins.
Author 2 books5 followers
October 11, 2019
I read this as I wanted to ensure I had a solid understanding of gRPC and ensure there weren’t any gaps in my understanding.

Whilst the book does cover the practicalities and great if you’re a Go or Ruby developer, not so good if you’re a Java person or JavaScript/node background. All the examples have been written in Go or Ruby, with no comparison in the other languages. For me I’ve been developing long enough and had some experience with Go that I could bridge this gap, but a new developer could have issues.

The book identifies that there are nuances between the different language implementations, but never properly address what these are despite the fact that in a later chapter it goes as far as recommending that developers familiarise themselves with the differences.

The book also shows the challenges of when writing as a team, which requires a lot of coordination. For example, in the early chapters the book discusses the fact that protobuf v2 and v3 exist. It sets out that the book is going to focus on v2 (surprising, but a clear position set out). However, the closing chapters suddenly switch to using v3 - it is only the careful eye over 5e code that gives the change away. Another nuance of this problem is that sometimes references to operations are made without any prior introduction - an issue when the author of one chapter assumes the author of a preceding chapter will have covered a point.

Whilst I’m more confident I have every I need when it comes to gRPC, I still don’t know if I have a full and complete understanding, and there is more work to be done to understand those implementation differences.
Profile Image for Ziyun.
28 reviews2 followers
August 21, 2019
从第7章往后才算是有意思了点,但总体还是缺乏洞见
Displaying 1 - 3 of 3 reviews

Can't find what you're looking for?

Get help and learn more about the design.