examples-1

module
v0.0.0-...-102771f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 2, 2018 License: Apache-2.0

README

Micro Examples Travis CI Go Report Card

This is a repository for micro examples. Feel free to contribute.

Contents

  • api - Provides API usage examples
  • booking - A booking.com demo application
  • broker - A example of using Broker for Publish and Subscribing.
  • client - Usage of the Client package to call a service.
  • command - An example of bot commands as micro services
  • event - Using the API Gateway event handler
  • flags - Using command line flags with a service
  • form - How to parse a form behind the micro api
  • function - Example of using Function programming model
  • graceful - Demonstrates graceful shutdown of a service
  • greeter - A complete greeter example (includes python, ruby examples)
  • heartbeat - Make services heartbeat with discovery for high availability
  • metadata - Extracting metadata from context of a request
  • options - Setting options in the go-micro framework
  • plugins - How to use plugins
  • pubsub - Example of using pubsub at the client/server level
  • grpc - Examples of how to use go-grpc
  • redirect - An example of how to http redirect using an API service
  • roundrobin - A stateful client wrapper for true round robin of requests
  • secure - Demonstrates use of transport secure option for self signed certs
  • server - Use of the Server package directly to server requests.
  • service - Example of the top level Service in go-micro.
  • sharding - An example of how to shard requests or use session affinity
  • shutdown - Demonstrates graceful shutdown via context cancellation
  • sidecar - Greeter service using the sidecar with multiple languages
  • stream - An example of a streaming service and client
  • template - Api, web and srv service templates generated with the 'micro new' command
  • waitgroup - Demonstrates how to use a waitgroup with a service
  • wrapper - A simple example of using a log wrapper

External

  • 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

Community

Find contributions from the community via the explorer

  • go-shopping - A sample product with a suite of services

Dependencies

Service Discovery

All services require service discovery. The default is Consul or MDNS.

Consul

Install

brew install consul

Run

consul agent -dev
Multicast DNS

Use flag --registry=mdns for a zero dependency configuration

Protobuf

Protobuf is used for code generation of message types and client/hander stubs.

If making changes recompile the protos.

Install

Install protoc for your environment. Then:

go get github.com/golang/protobuf/{proto,protoc-gen-go}
go get github.com/micro/protoc-gen-micro
Compile Proto
protoc --proto_path=$GOPATH/src:. --micro_out=. --go_out=. path/to/proto

Directories

Path Synopsis
api
default/proto
Package api is a generated protocol buffer package.
Package api is a generated protocol buffer package.
meta/proto
Package api is a generated protocol buffer package.
Package api is a generated protocol buffer package.
rpc
rpc/proto
Package api is a generated protocol buffer package.
Package api is a generated protocol buffer package.
booking
api/hotel/proto
Package hotel is a generated protocol buffer package.
Package hotel is a generated protocol buffer package.
srv/auth/proto
Package auth is a generated protocol buffer package.
Package auth is a generated protocol buffer package.
srv/geo/proto
Package geo is a generated protocol buffer package.
Package geo is a generated protocol buffer package.
srv/profile/proto
Package profile is a generated protocol buffer package.
Package profile is a generated protocol buffer package.
srv/rate/proto
Package rate is a generated protocol buffer package.
Package rate is a generated protocol buffer package.
pub
event
srv
srv/proto
Package pubsub is a generated protocol buffer package.
Package pubsub is a generated protocol buffer package.
form
api
api/proto
Package api is a generated protocol buffer package.
Package api is a generated protocol buffer package.
web
proto
Package greeter is a generated protocol buffer package.
Package greeter is a generated protocol buffer package.
greeter
api
api/rpc/proto/hello
Package go_micro_api_greeter is a generated protocol buffer package.
Package go_micro_api_greeter is a generated protocol buffer package.
cli
srv
srv/proto/hello
Package go_micro_srv_greeter is a generated protocol buffer package.
Package go_micro_srv_greeter is a generated protocol buffer package.
web
grpc
gateway/proto/hello
Package greeter is a generated protocol buffer package.
Package greeter is a generated protocol buffer package.
greeter/srv/proto/hello
Package go_micro_srv_greeter is a generated protocol buffer package.
Package go_micro_srv_greeter is a generated protocol buffer package.
metadata
cli
srv
plugins
prefix
Package prefix is a micro plugin for stripping a path prefix
Package prefix is a micro plugin for stripping a path prefix
pubsub
cli
srv
srv/proto
Package pubsub is a generated protocol buffer package.
Package pubsub is a generated protocol buffer package.
secure
cli
srv
srv/proto/hello
Package go_micro_srv_greeter is a generated protocol buffer package.
Package go_micro_srv_greeter is a generated protocol buffer package.
proto/example
Package go_micro_srv_example is a generated protocol buffer package.
Package go_micro_srv_example is a generated protocol buffer package.
proto
Package greeter is a generated protocol buffer package.
Package greeter is a generated protocol buffer package.
sidecar
go
stream
server/proto
Package stream is a generated protocol buffer package.
Package stream is a generated protocol buffer package.
web
template
api
api/proto/example
Package go_micro_api_template is a generated protocol buffer package.
Package go_micro_api_template is a generated protocol buffer package.
fnc
fnc/proto/example
Package go_micro_fnc_template is a generated protocol buffer package.
Package go_micro_fnc_template is a generated protocol buffer package.
srv
srv/proto/example
Package go_micro_srv_template is a generated protocol buffer package.
Package go_micro_srv_template is a generated protocol buffer package.
web
cli

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL