Skip to content

Latest commit

 

History

History
96 lines (66 loc) · 2.04 KB

README.md

File metadata and controls

96 lines (66 loc) · 2.04 KB

Greeter

An example Greeter application

Contents

  • srv - an RPC greeter service
  • cli - an RPC client that calls the service once
  • api - examples of RPC API and RESTful API
  • web - how to use go-web to write web services

Deps

Service discovery is required for all services. Default is Consul or MDNS. You can also use plugins from micro/plugins.

MDNS

Use the flag --registry=mdns

Consul

brew install consul
consul agent -dev

Run Service

Start go.micro.srv.greeter

go run srv/main.go

Client

Call go.micro.srv.greeter via client

go run cli/main.go

Examples of client usage via other languages can be found in the client directory.

API

HTTP based requests can be made via the micro API. Micro logically separates API services from backend services. By default the micro API accepts HTTP requests and converts to *api.Request and *api.Response types. Find them here micro/api/proto.

Run the go.micro.api.greeter API Service

go run api/api.go 

Run the micro API

micro api

Call go.micro.api.greeter via API

curl http://localhost:8080/greeter/say/hello?name=John

Examples of other API handlers can be found in the API directory.

Sidecar

The sidecar is a language agnostic RPC proxy.

Run the micro sidecar

micro sidecar

Call go.micro.srv.greeter via sidecar

curl -H 'Content-Type: application/json' -d '{"name": "john"}' http://localhost:8081/greeter/say/hello

The sidecar provides all the features of go-micro as a HTTP API. Learn more at micro/car.

Web

The micro web is a web dashboard and reverse proxy to run web apps as microservices.

Run go.micro.web.greeter

go run web/web.go 

Run the micro web

micro web

Browse to http://localhost:8082/greeter