Book Image

gRPC Go for Professionals

By : Clément Jean
Book Image

gRPC Go for Professionals

By: Clément Jean

Overview of this book

In recent years, the popularity of microservice architecture has surged, bringing forth a new set of requirements. Among these, efficient communication between the different services takes center stage, and that's where gRPC shines. This book will take you through creating gRPC servers and clients in an efficient, secure, and scalable way. However, communication is just one aspect of microservices, so this book goes beyond that to show you how to deploy your application on Kubernetes and configure other tools that are needed for making your application more resilient. With these tools at your disposal, you’ll be ready to get started with using gRPC in a microservice architecture. In gRPC Go for Professionals, you'll explore core concepts such as message transmission and the role of Protobuf in serialization and deserialization. Through a step-by-step implementation of a TODO list API, you’ll see the different features of gRPC in action. You’ll then learn different approaches for testing your services and debugging your API endpoints. Finally, you’ll get to grips with deploying the application services via Docker images and Kubernetes.
Table of Contents (13 chapters)
10
Epilogue

Summary

All that knowledge might be overwhelming right now, but do not worry, you do not need to remember all the names of the objects presented to understand how gRPC works. The point of this chapter is more about giving you a sense of the different actors involved in the process of making a connection and sending/receiving data.

We saw that we have four RPC operations that can be performed by the client and/or the server. Each actor sends a header to indicate it is its turn to send data, then they send messages, and finally, each of them has a special operation to indicate that it is done with sending messages.

After that, we saw how gRPC creates a connection between the server and the client. This is done with the help of the resolver, which finds IP addresses depending on the address we try to connect to, and with the load balancer, which helps gRPC work out which subchannels to send the data to.

Then, we talked about channels and subchannels. We saw how they are created...