安装指南
依赖
我们需要一个发现服务器, 这里micro默认使用的Consul,checkoutgo-pluginsto swap it out.
我们这里用之前安装部署好的consul,用来做go的micro服务发现
启动consul
consul agent -dev -enable-script-checks -bind 101.200.170.171 -config-dir ./consul.d/ -client 101.200.170.171
当然也要保证我们的环境支持profobuf
下载micro
go get github.com/micro/micro
尝试运行
我们运行micro给我们默认提供的greeter服务
go get github.com/micro/examples/greeter/srv
go run srv/main.go --registry_address "101.200.170.171:8500"
结果如下:
2017/12/21 14:47:07 Listening on [::]:59340
2017/12/21 14:47:07 Broker Listening on [::]:45885
2017/12/21 14:47:07 Registering node: go.micro.srv.greeter-c34915c7-e61a-11e7-ba2e-00163e004c84
我们打开consul web ui 发现刚刚启动的go.micro.srv.greeter微服务已经被consul发现,并监控。
利用micro工具
- 列出全部微服务
$micro --registry_address "101.200.170.171:8500" list services
consul
go.micro.srv.greeter
iHome_name
mysql_name
redis_name
- 获取某个服务的信息
micro --registry_address "101.200.170.171:8500" get service go.micro.srv.greeter
service go.micro.srv.greeter
version 1.0.0
Id Address Port Metadata
go.micro.srv.greeter-c34915c7-e61a-11e7-ba2e-00163e004c84 10.44.58.172 59340 transport=http,broker=http,server=rpc,registry=consul
Endpoint: Say.Hello
Metadata: stream=false
Request: {
name string
}
Response: {
msg string
}
询问微服务
按照Request和 EndPoint
$ micro -registry_address "101.200.170.171:8500" query go.micro.srv.greeter Say.Hello '{"name": "John"}'
{
"msg": "Hello John"
}
了解更多,请查看