gRPC Go Implementation
github.com
2
Leaving SiteNav
External Link Disclaimer
You are about to visit github.com. This website is not operated by us. We are not responsible for its content or privacy practices.
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.
Statistics
2
Views
0
Clicks
0
Like
0
Dislike