Vai al contenuto principale
JobCannon
Tutte le competenze

gRPC

High-performance RPC framework with Protocol Buffers

⬢ LIVELLO 2Tecniche
+$25-40k
Impatto sullo stipendio
4 mesi
Tempo di apprendimento
Medio
Difficoltà
—
Carriere
In sintesi

gRPC is Google's open-source framework for inter-service communication using HTTP/2 and Protocol Buffers. Career path: Practitioner (Protocol Buffers, unary RPCs, $110-140k) → Specialist (streaming, interceptors, error handling, $150-190k) → Architect (custom transports, service mesh integration, performance tuning, $200-260k+) over 4-6 months. Salary premium: $25k-$35k above base backend roles. Tools: gRPC, Protocol Buffers, grpcurl, BloomRPC, Envoy, Linkerd, Buf, gRPC-Web, grpc-gateway. Competes with REST/HTTP (simplicity, universal support) and WebSockets (for real-time, browser clients).

Cos'è gRPC

gRPC is Google's open-source framework for inter-service communication using HTTP/2 and Protocol Buffers (protobuf). Core value: 7-10x faster than REST (binary vs JSON), bidirectional streaming, strong type safety via auto-generated code, and built-in load balancing. Four RPC modes: Unary (request-response like REST), Server streaming (request → stream of responses), Client streaming (stream of requests → response), Bidirectional (both stream). Competes with REST (simplicity, universal support) and WebSockets (real-time, browser support). Netflix, Uber, Square, and Google-scale companies use gRPC internally; it's the standard for microservice-to-microservice communication in Kubernetes environments. Practitioners command $110-140k, Specialists earn $150-190k (+$25-40k premium), Architects commanding $200-260k+. Career path: Protocol Buffers + unary RPCs (L1, weeks 1-2) → streaming + interceptors + error handling (L2, months 1-3) → custom transports, service mesh integration, performance tuning (L3, months 4+). In 2026, gRPC is standard in high-scale infrastructure (Kubernetes, cloud-native microservices); learning it now is investing in infrastructure seniority. Compared to REST: gRPC is harder to learn but enables performance and type safety that REST cannot; adoption growing 20-30% annually in enterprise/cloud contexts. Career optionality: gRPC expertise is portable across all cloud platforms and companies building microservices.

🔧 STRUMENTI ED ECOSISTEMA
gRPCProtocol Buffers (Protobuf)grpcurlBloomRPCEnvoy ProxyLinkerdBufgRPC-Webgrpc-gatewaygRPC Health CheckgRPC Reflection

💰 Stipendio per regione

RegioneLivello baseMidLivello esperto
USA$120k$165k$240k
UK£75k£110k£155k
EU€80k€115k€165k
CANADAC$130kC$175kC$260k

❓ Domande frequenti

gRPC vs REST, when should I use gRPC?
REST: human-readable URLs, universal browser support, simpler debugging, good for public APIs, stateless by design. gRPC: 7-10x faster than REST (binary Protocol Buffers), bidirectional streaming, strong typing with generated code, built-in load balancing. Use gRPC for inter-service communication (Netflix, Uber, Google). Use REST for public APIs, mobile clients, simple CRUD. gRPC-Web bridges browser clients to gRPC backends.
What are Protocol Buffers and why are they better than JSON?
Protocol Buffers (protobuf): binary serialization format with schema versioning built-in. ~3-10x smaller wire size than JSON, ~3-5x faster to serialize/deserialize. Auto-generates code for 10+ languages. Supports schema evolution: add optional fields, rename fields without breaking old clients. JSON: human-readable, universal, but larger, slower, no built-in versioning. Downside of protobuf: not human-readable (need grpcurl to debug).
How do I handle breaking changes in Protocol Buffer schemas?
Only additive changes are safe: (1) add new optional fields with default values, (2) rename fields in comments only (field numbers stay same). NEVER: reuse field numbers, remove fields, change field types. Use Buf (buf.build) for breaking change detection, runs CI checks before merge. Tag deprecated fields with `[deprecated = true]`. Always maintain backward compatibility: old clients must work with new server, new clients must work with old server.
What is gRPC streaming and why do I need it?
gRPC supports 4 RPC modes: (1) Unary: request → response (like REST), (2) Server streaming: request → stream of responses (e.g., video chunks, log tailing), (3) Client streaming: stream of requests → response (e.g., file upload, batch processing), (4) Bidirectional: both sides stream (chat, real-time collaboration). Streaming = lower latency (no request-response round trip), better bandwidth (multiplexed over single HTTP/2 connection), perfect for real-time and large datasets.
How do I use gRPC from a web browser?
Browsers cannot directly use gRPC (no HTTP/2 over XHR). Three options: (1) gRPC-Web: browser ↔ gRPC-Web proxy ↔ gRPC backend (safest, official support from Buf). (2) grpc-gateway: auto-generate REST endpoints from gRPC protos (easy, best for public APIs). (3) Connect (from Buf): unified gRPC/gRPC-Web/REST semantics (newer, recommended for new projects). All three generate TypeScript stubs, so frontend sees type-safe API calls.
What is gRPC reflection and how do I debug services?
gRPC reflection lets tools like grpcurl introspect a running gRPC server without .proto files. Server exposes reflection service (enabled by default in most frameworks). Debug with: `grpcurl localhost:50051 list` (list services), `grpcurl localhost:50051 list my.Service` (list methods), `grpcurl -d '{"name":"World"}' localhost:50051 my.Service/Greet` (call a method). BloomRPC (GUI tool) also uses reflection, point it at your server and invoke methods via UI.
When should I NOT use gRPC?
Don't use gRPC for: (1) public APIs for third parties (use REST/OpenAPI, gRPC not widely adopted outside Google/fintech), (2) IoT/embedded (too heavy, protobuf overkill), (3) request-response latency <5ms (HTTP/2 handshake adds 1-2ms overhead), (4) mobile to backend (use gRPC-Web but complexity rises), (5) simple monolith (gRPC shines at scale; single service = REST is fine). Cost-benefit: gRPC's 7x speed + type safety pays off at 100+ microservices; below that, REST is simpler.

Non sei sicuro che questa competenza faccia per te?

Fai il Career Match — ti suggeriremo i percorsi giusti.

Trova le competenze adatte a te →

Trova il tuo percorso di carriera ideale

Abbinamento basato sulle competenze per 2521 carriere. Gratis, ~3 minuti.

Fai il Career Match — gratis →