Bastian Eicher
Designing gRPC APIs - The things they don't tell you
#1about 2 minutes
Combining resource-oriented design with RPC in gRPC
gRPC uses remote procedure calls, but adopting a resource-oriented design philosophy improves API consistency and predictability.
#2about 5 minutes
Choosing a repository structure for your gRPC project
Evaluate different repository strategies, such as a dedicated proto repo or a monorepo, to manage API definitions and generated code effectively.
#3about 2 minutes
Using linters to enforce API design consistency
Use a linter like Buff to enforce consistent API design rules, but understand the rationale behind warnings to know when they can be safely ignored.
#4about 2 minutes
Understanding the wire format to avoid breaking changes
The gRPC wire format uses integer keys instead of message names, which allows for evolving message types without causing a breaking change for older clients.
#5about 5 minutes
Evolving an API without versioning using a fallback pattern
Instead of versioning, evolve an API by deprecating old methods and adding new ones, while clients use a try-catch fallback to handle older server versions gracefully.
#6about 2 minutes
Handling optional fields and nullable types in Protobuf
Be aware that the `optional` keyword and wrapper types for nullability behave differently across programming languages, affecting client-side code.
#7about 3 minutes
Using the richer error model for detailed error handling
Move beyond simple status codes by using the richer error model to send structured, machine-readable error details in a backward-compatible way.
#8about 2 minutes
Implementing authentication in gRPC services
Leverage existing web framework authentication mechanisms or pre-shared keys, and ensure unauthenticated responses include the correct gRPC headers to be compliant.
Related jobs
Jobs that call for the skills explored in this talk.
Matching moments
04:29 MIN
An overview of gRPC fundamentals and its trade-offs
gRPC Load Balancing Deep Dive
02:46 MIN
Exploring gRPC for high-performance communication
REST in Peace? What does the API protocol of the future look like? Or do we have it already?
01:08 MIN
Choosing the right API protocol for today's needs
REST in Peace? What does the API protocol of the future look like? Or do we have it already?
02:52 MIN
Tracing the evolution of APIs from RPC to GraphQL
The Great API Debate: REST, GraphQL, or gRPC?
02:21 MIN
Architectural differences between REST, GraphQL, and gRPC
The Great API Debate: REST, GraphQL, or gRPC?
01:31 MIN
Q&A: GraphQL bombs and gRPC for microservices
The Great API Debate: REST, GraphQL, or gRPC?
02:07 MIN
Exploring alternatives to REST like gRPC and GraphQL
API = Some REST and HTTP, right? RIGHT?!
01:19 MIN
Key takeaways for effective gRPC load balancing
gRPC Load Balancing Deep Dive
Featured Partners
Related Videos
REST in Peace? What does the API protocol of the future look like? Or do we have it already?
Simon Auer
The Great API Debate: REST, GraphQL, or gRPC?
Alexis Yushin
Awful APIs: A History Lesson in Industry Mistakes and Mishaps
James Seconde
Evolving your APIs, a step-by-step approach
Nicolas Fränkel
tRPC: API schemas are pure overhead
Giorgio Boa
gRPC Load Balancing Deep Dive
Max Hausner & Yves Fauser
API = Some REST and HTTP, right? RIGHT?!
Rustam Mehmandarov
GraphQL: Does it replace SQL, REST or Something Else?
Gregor Bauer
Related Articles
View all articles.gif?w=240&auto=compress,format)



From learning to earning
Jobs that call for the skills explored in this talk.

CONTIAMO GMBH
Berlin, Germany
Senior
Python
Docker
TypeScript
PostgreSQL

Peter Park System GmbH
München, Germany
Senior
Python
Docker
Node.js
JavaScript




SYSKRON GmbH
Regensburg, Germany
Intermediate
Senior
.NET
Python
Kubernetes

Peter Park System GmbH
München, Germany
Intermediate
Senior
Python
Node.js
JavaScript


gyde GmbH
Stuttgart, Germany
Senior
Python
Django
PostgreSQL