go micro使用etcd作為服務註冊中心

2021-10-09 16:11:14 字數 4229 閱讀 1962

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容器。通常來說乙個微服務對應乙個容器是乙個比較好的實踐。服...