This repository serves as a hands-on exploration of different RPC (Remote Procedure Call) frameworks and implementation strategies, with a specific focus on gRPC and standard RPC implementations in Go.
This repository contains the source code for the implementations discussed in the following articles:
- gRPC is not the only RPC framework: Exploring Remote Procedure Calls
- A Deep Dive into gRPC: Service Definitions, Protobufs, and Hands-On Implementation
This repository is organized into two main directories:
rpc-go-standard/
: Contains a basic implementation of standard RPC in Go, demonstrating core concepts and practices.grpc-protobuf/
: Contains a gRPC implementation using Protocol Buffers (Protobuf) for service definitions, message serialization, and communication.
To run the code in this repository, you need to have Go 1.23.3 installed on your local machine. You can find instructions on how to install Go here.
Each directory (rpc-go-standard/
and grpc-protobuf/
) will further have specific setup instructions and dependencies, which will be provided in their respective README
files.
Feel free to fork this repository, open issues, or submit pull requests if you have suggestions, improvements, or enhancements related to RPC implementations!