This is a repository for micro examples. Feel free to contribute.
- greeter - A complete greeter example (includes python, ruby examples)
- sidecar - Greeter service using the sidecar with multiple languages
- booking - A booking.com demo application
- plugins - How to use plugins
- broker - A example of using Broker for Publish and Subscribing.
- client - Usage of the Client package to call a service.
- graceful - Demonstrates graceful shutdown of a service
- redirect - An example of how to http redirect using an API service
- server - Use of the Server package directly to server requests.
- service - Example of the top level Service in go-micro.
- shutdown - Demonstrates graceful shutdown via context cancellation
- template - Api, web and srv service templates generated with the 'micro new' command
- grpc - Examples of how to use go-grpc
- auth-srv - An Oauth2 authentication service
- geo-srv - Geolocation tracking service using hailocab/go-geoindex
- geo-web - Web demo for the geo srv
- geo-api - API for the geo srv
- discovery-srv - A discovery in the micro platform
- geocode-srv - A geocoding service using the Google Geocoding API
- hailo-srv - A service for the hailo taxi service developer api
- monitor-srv - A monitoring service for Micro services
- place-srv - A microservice to store and retrieve places (includes Google Place Search API)
- slack-srv - The slack bot API as a go-micro RPC service
- trace-srv - A distributed tracing microservice in the realm of dapper, zipkin, etc
- twitter-srv - A microservice for the twitter API
- user-srv - A microservice for user management and authentication
All services require service discovery. The default is Consul or MDNS.
Install
brew install consul
Run
consul agent -dev
Use flag --registry=mdns
for a zero dependency configuration
Protobuf is used for code generation of message types and client/hander stubs.
If making changes recompile the protos.
go get github.com/micro/protobuf/{proto,protoc-gen-go}
protoc -I$GOPATH/src --go_out=plugins=micro:$GOPATH/src \
$GOPATH/src/github.com/micro/examples/service/proto/greeter.proto