BOP is a light weight micro-service framework written in Go. It relies on RPC patterns using gnatsd as an rpc broker.
In order to play with the code you will need to have golang installed and gnatsd
The framework is built around the gnatsd message broker. This is a lightweight simple and blazing fast broker. We take advantage of its native queueing features as well as its request-reply model.
Download the repo then run gnatsd, now you can start the greeter server and try the simple client.
If you run gnatsd on any other address or port then set the env var NATS_HOST
Starting the server:
cd $GOPATH/src/github.com/kynrai/bop/examples/greeter_server
go run main.go
Run the client:
cd $GOPATH/src/github.com/kynrai/bop/examples/greeter_client
go run main.go
BOP comes with tracing out the box, if no app server is declared then no traces will be visible as it will default to the opentracing noop server. The examples show how traving might work with appdash. See the opentracing documentation for more information
This project has been inspired by my own work and works of others across the open source community. Notable sources of inspiration cames from the following:
go-mciro A microservice ecosystem
gnatsd The messaging system
Micro on Nats Talk from the creator of go-micro on using nats as a transport