package registrar import ( "context" "fmt" clientv3 "go.etcd.io/etcd/client/v3" ) func (r *ServiceRegistrar) ListInstance(serviceName string, servicePart string) ([]string, error) { keyPrefix := fmt.Sprintf("/services/%s/%s", serviceName, servicePart) resp, err := r.client.Get(context.Background(), keyPrefix, clientv3.WithPrefix()) if err != nil { return nil, err } var result []string for _, kv := range resp.Kvs { result = append(result, string(kv.Value)) } return result, nil }