版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013705066/article/details/88952760
上一节学习了go-micro的入门。
这一节我们来熟悉micro的工具集里的api用法。
micro api网关
Micro的api就是api网关
API参考了API网关模式为服务提供了一个单一的公共入口。基于服务发现,使得micro api可以提供具备http及动态路由的服务。
下载micro工具集
go install github.com/micro/micro
该命令会在GOPATH/bin/下生成micro.exe
新建一个greeter服务
micro new greeter
这个命令会在GOPATH/src/下生成一个新的服务。
我们把该目录从GOPATH目录拷贝出来,用goland打开。
配置proxy,安装依赖包。
根据proto生成go源码
protoc --proto_path=. --micro_out=. --go_out=. proto/example/example.proto
运行服务模板里的greeter服务
go run main.go
列出所有的服务
micro list services
【重点】生成api服务
micro api --namespace=go.micro.srv
Micro API本质上是一个http协议的网关接口,它会把动态路由到转到后台服务中。
默认监听8080端口。
访问
在postman里访问 http://localhost:8080/greeter/example/call
【重点】RPC解析器解析规则
路径 | 服务 | 方法 |
---|---|---|
/greeter/example/call | go.micro.srv.greeter | Example.Call |
我们的服务名字是go.micro.srv.greeter,所以我们在启动api服务时候,需要增加–namespace参数。因为默认的api的命名空间是go.micro.api。
当我们要访问go.micro.srv.greeter服务里的Example.Call方法时,路径先指到服务,然后再定位方法。即/greeter/example/call。
详情如下所示: