gRPC is an open-source framework for performing remote procedure calls.
In this thesis, we analyzed the gRPC framework by breaking it down into its components.
Using the Go language and the gRPC framework, we then implemented a simple calculator.
We extended this calculator with unidirectional and bidirectional streams, simple interceptors, and flow control mechanisms (including cancellations, execution deadlines, and graceful shutdown).
We added load-balancing capabilities to the calculator’s client, enabling it to distribute requests across multiple servers.
We introduced the concept of request hedging, as provided by the gRPC framework in some of its libraries.
We then secured the calculator service with the TLS protocol.
Finally, we demonstrated the reflection protocol on the calculator service using the grpcurl tool, showing how it facilitates the work of distributed systems developers.
|