Task-oriented walkthroughs of common use cases

The documentation covers the following techniques:


An overview of gRPC authentication, including built-in auth mechanisms, and how to plug in your own authentication systems.


gRPC is designed to support high-performance open-source RPCs in many languages. This page describes performance benchmarking tools, scenarios considered by tests, and the testing infrastructure.


Explains how and when to cancel RPCs.


How to compress the data sent over the wire while using gRPC.

Custom Backend Metrics

A mechanism in the gRPC library that allows users to inject custom metrics at the gRPC server and consume at gRPC clients to make your custom load balancing algorithms.

Custom Load Balancing Policies

Explains how custom load balancing policies can help optimize load balancing under unique circumstances.

Custom Name Resolution

Explains standard name resolution, the custom name resolver interface, and how to write an implementation.


Explains how deadlines can be used to effectively deal with unreliable backends.

Error handling

How gRPC deals with errors, and gRPC error codes.

Flow Control

Explains what flow control is and how you can manually control it.

Health Checking

Explains how gRPC servers expose a health checking service and how client can be configured to automatically check the health of the server it is connecting to.


How to use HTTP/2 PING-based keepalives in gRPC.


Explains what metadata is, how it is transmitted, and what it is used for.

Performance Best Practices

A user guide of both general and language-specific best practices to improve performance.


Explains how to configure RPCs to wait for the server to be ready before sending the request.

Last modified December 16, 2020: Implement the Docsy theme (#561) (fe23132)