[golang] go micro 微服務部署


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/chromedp@v0.1.0"            #單獨更新指定依賴包,@后面加上你需要的版本號

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM