<!-- 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.

### Environment

* Dubbo version: 3.0.7
* Operating System version: all
* Java version: all

### Steps to reproduce this issue

1. 使用阿里巴巴的包实现了扩展com.alibaba.dubbo.registry.RegistryFactory,并重写了方法
org.alibaba.dubbo.registry.Registry getRegistry(com.alibaba.dubbo.common.URL url)
 
目前系统数量比较多,升级dubbo3.0.7后编译失败,查看了Dubbo3中的com.alibaba.dubbo.registry.RegistryFactory,类型发现
这个类型的getRegistry的返回值变了,返回了apache的org.apache.dubbo.registry.Registry
org.apache.dubbo.registry.Registry getRegistry(com.alibaba.dubbo.common.URL url);

如果这样搞的话,我这个依赖库中的扩展就无法同时支持新老版本的getRegistry方法了使用了高版本的包重写了getRegistry这个方法低版本的包就无法用我的扩展类型

Pls. provide [GitHub address] to reproduce this issue.

### Expected Behavior

<!-- What do you expect from the above steps？-->
麻烦兼容下低版本,其他类型做的都挺好的返回值alibaba的包下面就是alibaba的类型 

### Actual Behavior

<!-- What actually happens? -->

目前alibaba的包中出现 apache的类型 自定义扩展到 同学们的开发的工具包可能是无法兼容dubbo新版本的,导致升级困难

import org.apache.dubbo.metadata.report.MetadataReportInstance;
import org.apache.dubbo.metadata.report.identifier.MetadataIdentifier;
import org.apache.dubbo.metadata.report.identifier.SubscriberMetadataIdentifier;
import org.apache.dubbo.registry.client.ServiceInstance;
import org.apache.dubbo.rpc.Invoker;
import org.apache.dubbo.rpc.Protocol;
import org.apache.dubbo.rpc.ProxyFactory;
import org.apache.dubbo.rpc.model.ApplicationModel;
import org.apache.dubbo.rpc.model.ScopeModel;
import org.apache.dubbo.rpc.model.ServiceDescriptor;
import org.apache.dubbo.rpc.service.Destroyable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ThreadLocalRandom;
import static org.apache.dubbo.common.constants.CommonConstants.CONSUMER_SIDE;
import static org.apache.dubbo.common.constants.CommonConstants.PROVIDER_SIDE;
import static org.apache.dubbo.common.constants.CommonConstants.REMOTE_METADATA_STORAGE_TYPE;
import static org.apache.dubbo.common.constants.RegistryConstants.REGISTRY_CLUSTER_KEY;
import static org.apache.dubbo.registry.client.metadata.ServiceInstanceMetadataUtils.METADATA_SERVICE_URLS_PROPERTY_NAME;
public class MetadataUtils {
    public static final Logger logger = LoggerFactory.getLogger(MetadataUtils.class);
    public static void publishServiceDefinition(URL url, ServiceDescriptor serviceDescriptor, ApplicationModel applicationModel) {
        if (getMetadataReports(applicationModel).size() == 0) {
            String msg = "Remote Metadata Report Server not hasn't been configured or unavailable . Unable to get Metadata from remote!";
            logger.warn(msg);
        }
        try {
            String side = url.getSide();
            if (PROVIDER_SIDE.equalsIgnoreCase(side)) {