micro简介
micro的安装
go get -u github.com/micro/micro
复制文件sudo cp micro /bin/
后重启reboot
下载插件
go get -u -v github.com/golang/protobuf/{proto,protoc-gen-go}
go get -u -v github.com/micro/protoc-gen-micro
micro使用
创建一个srv服务
micro new --type "srv" 创建目录
默认生成的是在GOPATH下,比如
micro new --type "srv" micro/rpc/srv
将在GOPATH下生成micro/rpc/srv
按照提示进入对应目录生成protobuf
文件:
protoc --proto_path=. --go_out=. --micro_out=. proto/example/example.proto
创建一个web服务
micro new --type "web" 创建目录
默认生成的是在GOPATH下
consul开发者模式
consul agent -dev
修改web项目
- 在
main.go
文件中添加端口
service := web.NewService(
web.Name("go.micro.web.web"),
web.Version("latest"),
//1.添加端口
web.Address(":8080"),
)
-
替换掉html文件
-
将
srv
项目的protobuf
导入web
项目的handler/handler.go
文件
import (
example "micro/rpc/srv/proto/example"
)
- 将handle.go文件中服务名改成与main中一致
exampleClient := example.NewExampleService("go.micro.srv.srv", client.DefaultClient)
- 启动后访问
127.0.0.1:8080
将micro-rpc升级为grpc
将上述创建的项目进行复制,这就需要在import中修改有关目录的内容,然后基于上述修改web文件后,进行下述修改
修改web项目
在handler.go中
- 在
ExampleCall
构造服务端并初始化
// 创建grpc客户端
cli :=grpc.NewService()
//客户端进行初始化
cli.Init()
- 替换原有服务的客户端
exampleClient := example.NewExampleService("go.micro.srv.srv", cli.Client())
修改srv项目
- 修改
main.go
文件main
函数构造服务端的方法
service := grpc.NewService(
micro.Name("go.micro.srv.srv"),
micro.Version("latest"),
)