description gRPC Overview
gRPC is a high-performance, open-source framework that uses Protocol Buffers (Protobuf) for serialization. It is fundamentally different from REST because it defines services via strict Interface Definition Language (IDL) files. This forces extreme contract adherence and results in highly efficient, strongly typed communication, making it ideal for internal, high-throughput microservice communication.
help gRPC FAQ
Why does gRPC use a .proto file?
A .proto file defines services, methods, and message fields in a language-neutral contract. The Protocol Buffers compiler then generates client and server code for languages such as Go, Java, C#, Python, and C++.
Can gRPC stream multiple messages over one call?
Yes, gRPC supports unary calls, server streaming, client streaming, and bidirectional streaming. Its HTTP/2 transport lets multiple streams share one connection efficiently.
Why can calling gRPC directly from a web browser be difficult?
Browser networking APIs do not expose every HTTP/2 capability expected by standard gRPC clients. Web applications commonly use gRPC-Web with a compatible server or proxy such as Envoy.
How does gRPC handle backward compatibility when a message changes?
Protocol Buffers identifies fields by numeric tags, so existing field numbers must not be reused for different meanings. Removed tags should be marked reserved, while new optional fields can usually be added without breaking older clients.
explore Explore More
Similar to gRPC
See all arrow_forwardReviews & Comments
Write a Review
Be the first to review
Share your thoughts with the community and help others make better decisions.