in clients/etcd_client/etcd_client.go [107:125]
func (sec *ShenYuEtcdClient) GetServiceInstanceInfo(metaData interface{}) (instances interface{}, err error) {
mdr := sec.checkCommonParam(metaData, err)
key := mdr.AppName
var nodes []*model.MetaDataRegister
ctx, cancel := context.WithTimeout(context.Background(), constants.DEFAULT_ETCD_TIMEOUT*time.Second)
defer cancel()
resp, err := sec.EtcdClient.Get(ctx, key)
if err != nil {
logger.Error("etcd Get data failure, err:", err)
return nil, err
}
node := new(model.MetaDataRegister)
err = json.Unmarshal(resp.Kvs[0].Value, node)
if err != nil {
return nil, err
}
nodes = append(nodes, node)
return nodes, nil
}