From the course: Beginner's Guide to Go Protocol Buffer
What is a gRPC? - Go Tutorial
From the course: Beginner's Guide to Go Protocol Buffer
What is a gRPC?
- [Instructor] What is GRPC? Well, it helps to first explain what RPC means. Remote Procedure Calls, or RPC, is a framework for communication between distributed client server systems. It allows a program running on one machine, the client, to call a sub-routine on another, the server, regardless of whether the server is local or remote. RPC is not a transport protocol, but a way of using existing communication features transparently. Programming using RPC means you don't need knowledge of communication software. In 2015, Google created GRPC which is their improved version of RPC. Since then, it has become very popular mainly because abstraction is easy and supports languages like Go, Java, Python, and Node. Support for type script is available through a third party library. Since it supports a few languages, it's a great choice for communication between microservices since microservices can be written in different languages. With GRPC, you design your service using protocol buffers, or proto buff. This serves as the contract between services which can then be generated for each language that you need to support and it's bidirectional with integrated auth. A few companies are already using GRPC internally like Square, Cisco, and Netflix. As an added bonus, GRPC is open source and free.