More Essential Features
We saw previously that gRPC gives us a lot of important out-of-the-box features that make our job simpler. In this chapter, we are going to delve deeper into some of the important features that are not included in gRPC but are provided by the community. They generally build on top of the gRPC features to provide more convenience. They also provide a way to implement the most common practices to protect and optimize your APIs.
In this chapter, we are going to cover the following main topics:
- Validating request messages
- Creating a middleware
- Authenticating requests
- Tracing API calls
- Applying rate limiting
- Retrying on error
By the end of the chapter, we will have learned what middleware are and what they are used for. And we are going to do that by learning more about the awesome community projects called protoc-gen-validate
and go-grpc-middleware
.