<!-- If you need to report a security issue please visit https://github.com/apache/dubbo/security/policy -->

- [x] I have searched the [issues](https://github.com/apache/dubbo/issues) of this repository and believe that this is not a duplicate.

## Ask your question here
操作步骤如下：
1. k8s环境下，consumer端开启mesh模式
2. consumer端需要调用多个provider
3. provider有应用级注册和接口级注册，并且需要的provider不再同一个namespace下
4. 原有项目存在dubbo2.6与3.1多版本间的相互调用，在开启消费端mesh（dubbo3.1）后，无法调用到2.6的服务提供者

**问题：**

1. 如何实现在一个consumer下，调用多个namespace下的provider，并且provider有应用级注册和接口级注册
2. dubbo3.1消费端在开启mesh后，如何调用版本是2.6的服务提供者
}
            throw t;
        }
        initialized = true;
    }
    private void initServiceAppsMapping(Map<String, String> referenceParameters) {
        ServiceNameMapping serviceNameMapping = ServiceNameMapping.getDefaultExtension(getScopeModel());
        URL url = new ServiceConfigURL(LOCAL_PROTOCOL, LOCALHOST_VALUE, 0, interfaceName, referenceParameters);
        serviceNameMapping.initInterfaceAppMapping(url);
    }
    /**
     * convert and aggregate async method info
     *
     * @return Map<String, AsyncMethodInfo>
     */
    private Map<String, AsyncMethodInfo> createAsyncMethodInfo() {
        Map<String, AsyncMethodInfo> attributes = null;
        if (CollectionUtils.isNotEmpty(getMethods())) {
            attributes = new HashMap<>(16);
            for (MethodConfig methodConfig : getMethods()) {
                AsyncMethodInfo asyncMethodInfo = methodConfig.convertMethodConfig2AsyncInfo();
                if (asyncMethodInfo != null) {
                    attributes.put(methodConfig.getName(), asyncMethodInfo);
                }
            }
        }
        return attributes;
    }
    /**
     * Append all configuration required for service reference.