1. 程式人生 > >clientv3API訪問etcd服務與使用etcdctl訪問之間資料隔離

clientv3API訪問etcd服務與使用etcdctl訪問之間資料隔離

通過etcd/clientv3API訪問遠端etcd服務的時候,在自己的go程式裡能順利獲取k-v,但用etcdctl無法獲取之前存的資料;同樣用etcdctl存的資料,使用clientv3API也訪問不到。

並且在使用etcd/clientv3API訪問遠端etcd服務,在服務端的etcd會產出如下日誌資訊:

I | etcdserver/api/v3rpc: transport:http2Server.HandleStreams failed to read frame: read tcp 192.168.2.136:2379->192.168.0.17:50551: read: connection reset by peer

原因:v3和http介面的資料不在同一個儲存區,用v2的api才會和http同一個儲存區

至於為什麼會產生如上日誌資訊:在etcd的github上給出的討論原因大致是grpc的遺留問題,不影響使用。