gRPC Go Implementation

gRPC Go Implementation

github.com

2

About this website

grpc-go is the free and open-source Go language implementation of gRPC, a high-performance RPC (Remote Procedure Call) framework originally developed at Google and open-sourced in March 2015. The Go implementation is one of the four official gRPC implementations (alongside C++, Java, and Python). Key features: Protocol Buffers: uses protobuf as the IDL and wire format. Service definitions (.proto files) declare RPC methods with request/response message types. protoc generates Go client stubs and server interfaces. RPC types: Unary (single request, single response), Server streaming (single request, stream of responses), Client streaming (stream of requests, single response), and Bidirectional streaming (both sides stream simultaneously). HTTP/2: runs over HTTP/2 with multiplexing, HPACK header compression, and binary framing, making it significantly more efficient than REST over HTTP/1.1. Interceptors: client-side and server-side interceptors for authentication, logging, metrics, and tracing. Deadlines and timeouts: propagate deadlines across service boundaries; expired deadlines cancel all in-progress RPCs. Cancellation: client cancellations propagate through the call chain. Load balancing: client-side round-robin, pick-first, and custom balancers. Health checking: gRPC health protocol for service discovery. Metadata: key-value headers for auth tokens and tracing IDs. TLS: mutual TLS for secure communication. Go. Apache-2.0.

Tags & Categories

Tags

Statistics

2
Views
0
Clicks
0
Like
0
Dislike

Comments

Log In to post a comment

No comments yet. Be the first!