<!-- 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的服务提供者
List<Invoker<?>> invokers = new ArrayList<>();
                invokers.add(invoker);
                invoker = Cluster.getCluster(scopeModel, Cluster.DEFAULT).join(new StaticDirectory(curUrl, invokers), true);
            }
        } else {
            List<Invoker<?>> invokers = new ArrayList<>();
            URL registryUrl = null;
            for (URL url : urls) {
                // 
                // 
                invokers.add(protocolSPI.refer(interfaceClass, url));
                if (UrlUtils.isRegistry(url)) {
                    // 
                    registryUrl = url;
                }
            }
            if (registryUrl != null) {
                // 
                // 
                String cluster = registryUrl.getParameter(CLUSTER_KEY, ZoneAwareCluster.NAME);
                // 
                // 
                invoker = Cluster.getCluster(registryUrl.getScopeModel(), cluster, false).join(new StaticDirectory(registryUrl, invokers), false);
            } else {
                // 
                if (CollectionUtils.isEmpty(invokers)) {
                    throw new IllegalArgumentException("invokers == null");
                }
                URL curUrl = invokers.get(0).getUrl();
                String cluster = curUrl.getParameter(CLUSTER_KEY, Cluster.DEFAULT);