Example of using OpenCensus with Go kit
- Go kit
- OpenCensus
- gRPC
- Twirp
- Zipkin
Services can be built by running go generate in the root of the project:
$ go generate ./...
Get a Zipkin instance running by following the directions as found here. This will allow the services instrumented with OpenCensus to export tracing details to a Zipkin backend.
Get etcd running for service discovery. Instructions to get it up and running can be found here.
Now you can start the various services included in this demo.
Example:
#!/bin/sh
nohup ./ocg-qrgenerator &>qrgenerator.log &
nohup ./ocg-device &>device.log &
nohup ./ocg-event &>event.log &
nohup ./ocg-frontend &>frontend.log &
Each service will dynamically select available ports to listen on and advertise these on etcd. It is possible to run multiple instances for each service on a single machine. The clients can automatically load balance and retry on the available services.