1、安装Service Discovery
默认情况请安装consul(下载地址:https://www.consul.io/downloads.html),下载对应的系统下的文件,将可执行文件放入GOPATH下面的bin目录下
2、安装Protobuf
安装protoc (下载地址:https://github.com/protocolbuffers/protobuf/releases),下载对应的系统下的文件,将可执行文件放入GOPATH下面的bin目录下
安装好上面的的两个micro依赖后,将依赖执行文件放入环境变量中(可以将其放入go的环境变量中,go环境本身需已经加入了环境变量)
3、下载go-micro支持插件
由于golang.org/x/net被墙了,所以需要设置代理访问
go get -u github.com/golang/protobuf/{proto,protoc-gen-go}
go get -u github.com/micro/protoc-gen-micro
https_proxy=192.168.3.5:1080 go get -u github.com/micro/micro #代理地址修改为:https://goproxy.io
4、编辑器所在环境的gopath目录下的./pkg/mod/下面需要包含引用的包,不然编辑器编辑的时候将无法引用到包(不能提示对应信息-标红【goland】)
5、编辑proto格式文件 | protobuf 代替json
1、syntax = "proto3"; //指定格式
2、package 服务包名 【对应服务名称】
3、service 对应数据结构名称
4、message 消息体(请求响应的数据格式)
5、protoc --micro_out=. --go_out=plugins=micro:. address_hh.proto 【micro_out后面跟的是.micro.go文件存放地址 . 标识当前目录,go_out同理,最后带上要转化的proto文件的路径 plugins表示使用指定的插件来执行】
6、golang(1.11以上) modules的使用 更新vendor包插件
1、go mod init [module name] #初始化modules
2、go mod tidy #自动更新依赖关系,并且将包下载放入cache
3、go build(run) -mod=vendor [project] #忽略cache里的包,只使用vendor目录里的版
4、go mod edit -require="github.com/chromedp/[email protected]" #单独更新指定依赖包,@后面加上你需要的版本号
7、mysql使用的GORM插件,执行语句打印可设置如下
1、通用设置全部打印,在初始化db的时候添加
db.LogMode(true)
2、在要打印的语句前添加打印设定
db.Debug().Where("name = ?", "jinzhu").First(&User{})
8、微服务框架使用micro框架
go micro 框架
./micro -registry=mdns web
./address -registry=mdns
[golang] go micro 微服务部署
猜你喜欢
转载自www.cnblogs.com/hhao321/p/11429198.html
今日推荐
周排行