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

In this chapter, we saw the different types of APIs we can write in gRPC. We saw that we can create similar API endpoints as the ones we are used to in REST APIs. These endpoints are called unary endpoints. Then, we saw that we can make server streaming APIs to let the server return multiple responses. Similarly, we saw that a client can return multiple requests with client streaming. And finally, we saw that we can “mix” server and client streaming to get bidirectional streaming.

Our current endpoints are simplistic and do not handle a lot of cases that are crucial for production-grade APIs.

In the next chapter, we will start seeing what we can improve at the API level. This will let us first focus on the usability of the API before diving deeper into all the aspects of production-grade APIs.