Software Engineer based out of Washington DC. Working at PBS!
What is GRPC
- It's a modern, open-source, high-performant Remote Procedure Call* (RPC) framework.
- It uses Protobuf, a language agnostic contract for data serialization.
- It's fast
* Remote Procedure Call is a protocol that allows a program to execute a procedure of another program located somewhere in the network. (think subtasks or microservices)
- Hyper efficient data transfer. GRPC uses HTTP/2 by default and sends binary representation of data
- It's language agnostic, Protobufs can be translated into many languages and are seen as the same within the GRPC ecosystem
- It provides a strongly-typed API contract to ensure ease of programming clients
Getting Started w/ GRPC
- Define a service definition contract (using a Protocol Buffer (.proto) file)
- Generate the server and client side stubs from the .proto file
- Implement the server in one of the supported languages*
- Implement the client that invokes the service through the stub
- Run the server and the client
*Currently supported languages: C#, C++, Dart, Go, Java, Kotlin, Node, Objective-C, PHP, Python, Ruby
By Josh Finnie