https://github.com/apache/dubbo/blob/532ce72f8377abf8ff659430b86e0919c9aff562/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ServiceConfig.java#L240-L248 

What ever user use `instance` service discovery or `interface` service discovery, we also publish service name mapping info. 
But service name mapping need metadata report dependency, so if some one just use `interface` service discovery, the user still need need metadata report dependency.

Here we add a judgement, check current service config use `instance` service discovery or not, to judge publish service name mapping or not.

String INVOKER_LISTENER_KEY = "invoker.listener";
    String DUBBO_VERSION_KEY = "dubbo";
    String TAG_KEY = "dubbo.tag";
    /**
     * To decide whether to make connection when the client is created
     */
    String LAZY_CONNECT_KEY = "lazy";
    String STUB_EVENT_KEY = "dubbo.stub.event";
    String REFERENCE_INTERCEPTOR_KEY = "reference.interceptor";
    String SERVICE_FILTER_KEY = "service.filter";
    String EXPORTER_LISTENER_KEY = "exporter.listener";
    String METRICS_PORT = "metrics.port";
    String METRICS_PROTOCOL = "metrics.protocol";
    /**
     * After simplify the registry, should add some parameter individually for provider.
     *
     * @since 2.7.0
     */
    String EXTRA_KEYS_KEY = "extra-keys";
    String GENERIC_SERIALIZATION_NATIVE_JAVA = "nativejava";
    String GENERIC_SERIALIZATION_GSON = "gson";
    String GENERIC_SERIALIZATION_DEFAULT = "true";
    String GENERIC_SERIALIZATION_BEAN = "bean";
    String GENERIC_RAW_RETURN = "raw.return";
    String GENERIC_SERIALIZATION_PROTOBUF = "protobuf-json";
    String GENERIC_WITH_CLZ_KEY = "generic.include.class";
    /**
     * Whether to cache locally, default is true
     */
    String REGISTRY_LOCAL_FILE_CACHE_ENABLED = "file.cache";