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.

/**
     * The limit of callback service instances for one interface on every client
     */
    String CALLBACK_INSTANCES_LIMIT_KEY = "callbacks";
    /**
     * The default limit number for callback service instances
     *
     * @see #CALLBACK_INSTANCES_LIMIT_KEY
     */
    int DEFAULT_CALLBACK_INSTANCES = 1;
    String LOADBALANCE_KEY = "loadbalance";
    String DEFAULT_LOADBALANCE = "random";
    String RETRIES_KEY = "retries";
    String FORKS_KEY = "forks";
    int DEFAULT_RETRIES = 2;
    int DEFAULT_FAILBACK_TIMES = 3;
    String REGISTER_KEY = "register";
    String INTERFACES = "interfaces";
    String SSL_ENABLED_KEY = "ssl-enabled";
    String SERVICE_PATH_PREFIX = "service.path.prefix";
    String PROTOCOL_SERVER_SERVLET = "servlet";
    String PROTOCOL_SERVER = "server";
    /**
     * The parameter key for the class path of the ServiceNameMapping {@link Properties} file
     *
     * @since 2.7.8
     */
    String SERVICE_NAME_MAPPING_PROPERTIES_FILE_KEY = "service-name-mapping.properties-path";
    /**
     * The default class path of the ServiceNameMapping {@link Properties} file