- Install Go & Docker
- Clone this project
- Rename
.exampe.env
toconfig.env
- Build the project with
docker-compose up -d
- Access through
localhost:9000/
If you want to rebuild the project, use
docker-compose -d --build
To destroy the project, use
docker-compose down -v
For API Documentation, you can look at here
If you want to compile new protobuf, take a look at build-todo-rpc
in Makefile
. protoc will compile it into go
file.
Read documentation of gRPC here and how to serve gRPC using http proto here
This project use grafana
and prometheus
for system monitoring and alerting. Read official documentation here about prometheus and here for grafana. There are 3 metrics that are measured, namely latency, total request and response status. Read more here.
This project also use jaeger
for distributed tracing system. Read more documentation about jaeger
TODO :
- Add interceptor for gRPC
- Log, Monitoring, Tracing for gRPC