in clients/etcd_client/etcd_client.go [130:146]
func (sec *ShenYuEtcdClient) RegisterServiceInstance(metaData interface{}) (registerResult bool, err error) {
mdr := sec.checkCommonParam(metaData, err)
data, _ := json.Marshal(metaData)
if err != nil {
return false, err
}
key := mdr.AppName
ctx, cancel := context.WithTimeout(context.Background(), constants.DEFAULT_ETCD_TIMEOUT*time.Second)
defer cancel()
_, err = sec.EtcdClient.Put(ctx, key, string(data))
if err != nil {
logger.Errorf("RegisterServiceInstance failure! ,error is :%v", err)
return false, err
}
logger.Infof("RegisterServiceInstance,result:%v", true)
return true, nil
}