- A code along repo for Udemy's gRPC [Golang] Masterclass course
gRPC
is a RPC
framework developed by Google for building high performance APIs. It's uses Protocol Buffers as the interface definition language. gRPC payloads are significantly smaller than a JSON equivalents hence faster :- low latency over the wire. A good alternative for REST API.
- Unary Streaming
- Server Streaming
- Client Streaming
- Bi-directional Streaming
- Error Handling & RPC deadlines
- Security - SSL Authentication
- File Upload - (client streaming)
- CRUD with MongoDB
- Server-side pagination with MongoDB
- Caching with Redis
- Unit Testing
This code is entirely educational and definitely not production-ready
- Clone the app
git clone https://github.com/vonmutinda/grpcourse.git
- Install
MongoDB
databasase. - Inspect the
Makefile
for the various commands of interracting with the app. - Run
make server
andmake client
on two seperate tabs.;
A list of technologies used in this project:
- Golang version
go1.14.6
- gRPC A RPC framework that leverages on
HTTP/2
protocol which has powerful multiplexing capabilites. - MongoDB Community Server
Some of the resources that I found useful Go/Golang
.
- Protocol Buffers
- gRPC
- Building Microservices in Go - Nic Jackson Start Here
- The Complete gRPC Course [Protobuf, Go, Java] : An Advanced gRPC Course