in clients/consul_client/consul_client.go [111:132]
func (scc *ShenYuConsulClient) GetServiceInstanceInfo(metaData interface{}) (instances interface{}, err error) {
mdr := scc.checkCommonParam(metaData, err)
catalogService, _, err := scc.ConsulClient.Catalog().Service(mdr.ShenYuMetaData.AppName, "", nil)
if len(catalogService) > 0 && err == nil {
result := make([]*model.ConsulMetaDataRegister, len(catalogService))
for index, consulInstance := range catalogService {
instance := &model.ConsulMetaDataRegister{
ServiceId: consulInstance.ServiceID,
ShenYuMetaData: &model.MetaDataRegister{
AppName: consulInstance.ServiceName,
Host: consulInstance.Address,
Port: strconv.Itoa(consulInstance.ServicePort),
//metaData: consulInstance.ServiceMeta, todo shenYu java MetaDataRegisterDTO boolean -> map
},
}
result[index] = instance
logger.Infof("GetServiceInstanceInfo,instance:%v", instance)
}
return result, nil
}
return nil, err
}