micro是工具大管家,像拼积木一样把各种工具装在一起使用,默认支持rpc+protobuf+consul
rpc是各服务通信方式,protobuf是数据交换格式,consul是服务发现,用于登记服务
也可以利用插件把rpc升级成grpc
1.下载micro:在此之前必须安装golang,这就不必说了吧。
方式一:
因为我自己已经有了包,所以包的方式安装,把我的目录XXx/micro下的github.com1
把这个包解压在src下,覆盖我原来的github.com文件。
然后cd 到src/github.com/micro/micro
编译:go build 会得到一个micro的可执行文件
方式二:
$ go get -u -v github.com/go-log/log
$ go get -u -v github.com/gorilla/handlers
$ go get -u -v github.com/gorilla/mux
$ go get -u -v github.com/gorilla/websocket
$ go get -u -v github.com/mitchellh/hashstructure
$ go get -u -v github.com/nlopes/slack
$ go get -u -v github.com/pborman/uuid
$ go get -u -v github.com/pkg/errors
$ go get -u -v github.com/serenize/snaker
# hashicorp_consul.zip包解压在github.com/hashicorp/consul
$ unzip hashicorp_consul.zip -d github.com/hashicorp/consul
# miekg_dns.zip 包解压在github.com/miekg/dns
$ unzip miekg_dns.zip -d github.com/miekg/dns
$ go get github.com/micro/micro
2.编译安装
$ cd $GOPATH/src/github.com/micro/micro
$ go build -o micro main.go
$ sudo cp micro /bin/
3.插件安装
go get -u -v github.com/golang/protobuf/{proto,protoc-gen-go}
go get -u -v github.com/micro/protoc-gen-micro
ps:github如果下载慢,可以怎样解决呢,自己百度吧
4.命令演示
创建微服务的命令:micro new [command options] [arguments...]
--namespace
--type "srv"或者“web”“api”
--fqdn
--alias
eg:创建srv服务
micro new --type "srv" micro/rpc/srv
目录是相对于go/src下的文件夹名称,创建出来的srv服务目录如下:
#根据提示将proto文件生成为.go文件
cd .../src/micro/rpc/srv
protoc --proto_path=. --go_out=. --micro_out=. proto/example/example.proto
eg:创建web服务
启用consul进行监管
consul agent -dev