這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
介紹micro
Micro is a microservice toolkit. Its purpose is to simplify distributed systems development.github地址
Go Micro is a pluggable RPC framework for microservices. It is part of the Micro toolkit. github地址
使用go-micro簡易搭建一個服務端
安裝並運行consul,consul是一個服務發現軟體。micro依賴於服務發現機制
安裝:
Consul is the default registry/discovery for go-micro apps. It's however pluggable.https://www.consul.io/intro/getting-started/install.html
運行:
consul agent -server -bootstrap-expect 1 -data-dir /tmp/consul
下載我的樣本rep
gomicrotest
注意:有一些go的依賴需要git下來,然後需要需要安裝protobuf,具體使用方法google
啟動 micro web
micro 內建了一個控制台 ,可以查看所有服務和介面
http://localhost:8082/
micro web
啟動server
進入目錄 server/test
go run main.go
啟動成功後 在micro web http://localhost:8082/query 能選擇服務的介面 mymicro -- TestUser.GetUser
直接點擊 execute 可以看到 輸出 證明服務正常
啟動client
進入目錄 client
go run main.go
可以看到 輸出內容 證明client串連正常
postman 測試
可以在 micro web頁面 開啟檢查 然後在network下面拿到 剛剛的rpc 串連 然後 copy as curl
如下:
curl 'http://localhost:8082/rpc' -H 'Pragma: no-cache' -H 'Origin: http://localhost:8082' -H 'Accept-Encoding: gzip, deflate, br' -H 'Accept-Language: zh-CN,zh;q=0.8,en;q=0.6,zh-TW;q=0.4' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36' -H 'Content-type: application/json' -H 'Accept: */*' -H 'Cache-Control: no-cache' -H 'Referer: http://localhost:8082/query' -H 'Connection: keep-alive' --data-binary '{"service":"mymicro","method":"TestUser.GetUser","request":{}}' --compressed
postman 下 用post方法 設定下面參數進行訪問
地址:http://localhost:8082/rpc
headers:Content-type: application/json
body:{"service":"mymicro","method":"TestUser.GetUser","request":{}}