syntax =
"proto3"
;message getrequest
message putresponse
service userserver
}
編譯生成go需要的檔案)//定義空結構體,實現介面方法
type userserver struct
func
(c *userserver)
userinfo
(ctx context.context,res *pb.getrequest,resp *pb.putresponse)
error
func
main()
//位址
"gangan","123")//密碼})
//建立乙個新的服務
server := micro.
newservice
( micro.
name
("hello"),
micro.
registry
(etcd)
, micro.
transport
(grpc.
newtransport()
),//修改傳輸協議
)//服務初始化
server.
init()
//註冊方法
err := pb.
registeruserserverhandler
(server.
server()
,new
(userserver)
)if err !=
nil//啟動
//位址
"gangan","123")//密碼})
//建立服務
server := micro.
newservice
( micro.
name
("hello.client"),
micro.
registry
(etcd)
, micro.
transport
(grpc.
newtransport()
),)//初始化
server.
init()
//註冊方法
userinfo := pb.
newuserserverservice
("hello"
,server.
client()
)//呼叫方法
閒談etcd(三)etcd的使用
type client structimport fmt go.etcd.io etcd clientv3 time 連線 func main dialtimeout 5 time.second,建立連線 if client,err clientv3.new config err nil fmt.p...
etcd 啟動分析 Etcd的基本使用
etcd 是 coreos 團隊於 2013 年 6 月發起的開源專案,它的目標是構建乙個高可用的分布式鍵值 key value 資料庫,基於 go 語言實現,內部採用 raft 協議作為一致性演算法。etcd目前預設使用 2379 埠提供 http api 服務。安裝進入官網 進入目錄啟動etcd...
使用go micro開發微服務詳解
微服務架構是用來替換傳統的單體架構的。它使用細顆粒度的服務及其組合來完成乙個業務系統的工作。服務間是以一種約定來進行通訊。微服務架構會帶來如下的好處 當談論微服務時,服務的編排和發現是非常重要的。例如kubernetes就用於編排docker容器。通常來說乙個微服務對應乙個容器是乙個比較好的實踐。服...