Home Page Icon
Home Page
Table of Contents for
Cover
Close
Cover
by Carles Sistare, Robert Ross, David Muto, David Konsumer, Joshua Humphries
Practical gRPC
Preface
Who is this book for?
1. Introduction
Computer networks and distributed computing
Request-response protocols
Remote Procedure Calls
Summary
2. What is gRPC?
HTTP and REST
RPC systems
gRPC
Other RPC systems
Streaming
Where to use gRPC
Summary
3. What are Protocol Buffers?
Scalar types
Nested types
Maps
Oneof
Enums
Services
Importing other proto files
Repetitive fields go first
Polymorphism
Packages
Versioning proto files
Different approaches for generating proto classes
C++
C
GO
Java
Python
NodeJS
Option declarations
Custom options
Understand encoding
Varint
Varint for signed values
Non-Varint values (type 1 and 5)
Length-delimited (type 2)
Embedded messages
Summary
4. gRPC basics
Vocabulary
Creating and Implementing Services
Compiling the Protocol
Creating a Service Implementation
Exposing services
Graceful shutdown and load balancing
Creating and using stubs
Dialing the server
Working with stubs
Errors
Metadata
Metadata on the server
Metadata on the client
Summary
5. Star Friends
Before writing code
Nouns
Verbs
How the service works
Getting the data
Defining the Service
Nouns
Verbs
Server Implmentation
Starting it up
Summary
6. Streaming gRPC calls
Server streaming
Creating the protobuf file
Implementing the server
Implementing the client
Running the example
Client streaming
Creating the protobuf file
Implementing the server
Implementing the client
Running the example
Bidirectional streaming
Creating the protobuf file
Implementing the server
Implementing the client
Running the example
Summary
7. Advanced gRPC
Error management
How gRPC encodes errors
Interceptors
Logging unary RPCs
Capturing and mutating errors
Adding timing to stubs
Streaming interceptors
Limitations
Closing up
Authentication
RPC Timeouts
Call cancellation
Parallelizing steps
Aggressive hedging
Other languages
Summary
8. HTTP2 overview
HTTP/1.0 and HTTP/1.1
HTTP/2
Frames
Messages
Streams
Multiplexing
Flow control
Server push
Headers
9. Load balancing
Client load balancing
Proxy load balancing
Summary
10. Service evolution with gRPC
Binary and source compatibility
Versioning a Service
Define custom request and response objects
Maintaining wire compatibility
Implicit versus explicit values on the wire
Behavior compatibility
Default values for new fields
Field clearing
Dealing with errors
Summary
11. Extending gRPC services
gRPC Gateway
Mapping URL params to request fields
Custom options
Protoc plugins
Summary
12. Debugging gRPC
CLI tools
An example
Environment variables
GRPC_TRACE
GRPC_VERBOSITY
Decompiling protobuf messages
Summary
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Next
Next Chapter
Practical gRPC
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset