1. GO環境安裝
源碼安裝
wget https://dl.google.com/go/go1.10.3.linux-amd64.tar.gztar -C /usr/local -xzf go1.10.3.linux-amd64.tar.gz
設定環境變數,
vim /etc/profile
然後把環境變數加入,gopath是工作目錄,裡麵包含3個目錄,分別是
- src 存放原始碼
- pkg 存放編譯好的庫檔案
- bin 存放可執行檔
export GOROOT=/usr/local/goexport PATH=$PATH:$GOROOT/binexport GOPATH=/data/go
加入環境變數後要輸入source /etc/profile
來使環境變數生效,另外可以通過go env
來查看變數是否設定生效,如
image.png
2. 安裝 Protobuf
安裝 Protobuf編譯器protoc
上github下載,https://github.com/google/protobuf/releases/tag/v3.6.0
我就直接wget了,下載release版本的話就不需要./autogen.sh
wget https://github.com/google/protobuf/releases/download/v3.6.0/protobuf-all-3.6.0.tar.gztar -xvf protobuf-all-3.6.0.tar.gz ./configure --prefix=/usr/local/protobuf------------報錯:1. no acceptable C compiler found in $PATH的報錯,直接yum install gcc2. configure: error: C++ preprocessor "/lib/cpp" fails sanity check,解決: yum install glibc-headers yum install gcc-c++------------makemake checkmake install裝完記得加上環境變數export PATH=$PATH:/usr/local/protoc
安裝 goprotobuf 提供的 Protobuf 外掛程式protoc-gen-go
直接一條命令,順便安裝到$GOBIN下,就是gopath的bin目錄下
go get -u github.com/golang/protobuf/protoc-gen-go另外需要設定下環境變數,不然安裝在bin目錄下的也執行不了vim /etc/profileexport PATH=$PATH:$GOPATH/bin
安裝micro的擴充外掛程式protoc-gen-micro
go get github.com/micro/protoc-gen-micro
測試一下
按官方demo寫了個協議,跑一遍試試
image.png
生產命令
protoc --proto_path=$GOPATH/src:. --micro_out=. --go_out=. greeter.proto
然後就產生成功了,pb的檔案是具體聲明資料結構的和各個資料的操作。而micro那個檔案則是架構本身再封裝一層,service去調用的。
image.png
PS:
- 我make check的時候時候似乎有報錯,但安裝又是成功的
- 產生的檔案多了3個參數,就是上篇提到的3個莫名參數。
3. etcd安裝
晚點補充,然後下篇先記下protobuf的寫法。再下篇就建一個完整的go-micro的簡單demo,跑一遍