func()

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
}