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)


Developing production-grade APIs begins with writing comprehensive tests to ensure that the business requirements are met while also verifying the API’s consistency and performance. The first part is mostly handled in unit and integration tests and the second part with load testing.

In the first part of this section, we are going to focus on unit testing the server. We are going to do one test per API type to understand how you can introduce more in the future. In the second part, we are going to introduce ghz, which is a tool for load testing gRPC APIs. We are going to introduce the different options that the tool has and how to load test an API with credentials, an auth token as a header, and so on.

Unit testing

As mentioned, we are going to focus on unit testing the server. Before beginning, it is important to know that the tests presented here are not all the possible tests that we could do. To keep this book readable, I will be presenting how to write unit...