Skip to content

Repository files navigation

DIY gRPC

The goal of this project is to implement a simple version of gRPC from scratch, using only the standard library of the Go programming language. This project is intended for educational purposes and to gain a deeper understanding of how gRPC works under the hood.

In a first step, I want to support all method types (unary, server streaming, client streaming, and bidirectional streaming) over HTTP/2.

In a second step, I want to implement my own version of Protocol Buffers for serialization and deserialization of messages. I'm thinking of using Go structs as the schema definition. Using struct tags and reflection.
The other option would be to use my own protoc compiler plugin to generate the necessary code for serialization and deserialization for each message type, similar to github.com/pquerna/ffjson.
Or maybe just provide some helper functions to make it easier to implement the serialization and deserialization manually.

About

DIY gRPC in Go

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages