多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 安装指南 ## 依赖 我们需要服务发现,所以让我们启动Consul(默认),或者通过[go-plugins](https://github.com/micro/go-plugins)替换。 ### Consul ``` brew install consul consul agent -dev ``` 或者 ``` docker run consul ``` ### Multicast DNS 我们可以使用Multicast DNS进行零依赖的服务发现 将`--registry=mdns`传递给任何命令,例如`micro --registry = mdns list services` ## Go Micro Go Micro是Go开发微服务的RPC框架 ### 安装 ``` go get github.com/micro/go-micro ``` ### Protobuf 如果您使用代码生成,您还需要使用protoc-gen-go ``` go get github.com/micro/protobuf/{proto,protoc-gen-go} ``` 访问[github.com/micro/go-micro](https://github.com/micro/go-micro)了解更多。 ## 工具包 Micro工具包提供了访问微服务的各种方法 ### 安装 ``` go get github.com/micro/micro ``` ### Docker 可用预制docker images ``` docker pull microhq/micro ``` ### 尝试CLI 运行greeter服务 ``` go get github.com/micro/examples/greeter/srv && srv ``` 服务清单 ``` $ micro list services consul go.micro.srv.greeter ``` 获取服务 ``` $ micro get service go.micro.srv.greeter service go.micro.srv.greeter version 1.0.0 Id Address Port Metadata go.micro.srv.greeter-34c55534-368b-11e6-b732-68a86d0d36b6 192.168.1.66 62525 server=rpc,registry=consul,transport=http,broker=http Endpoint: Say.Hello Metadata: stream=false Request: { name string } Response: { msg string } ``` 查询服务 ``` $ micro query go.micro.srv.greeter Say.Hello '{"name": "John"}' { "msg": "Hello John" } ```