dubbo-admin注册中心配置说明以及问题修复

dubbo-admin是dubbo的一版开发的控制平台,支持的注册中心,包括zookeeper,nacos,consul等,下面就介绍相关的支持的注册中心的各项配置和注意事项.

dubbo-admin的github官方地址:https://github.com/apache/dubbo-admin

zookeeper相关配置:

配置文件路径:  application.properties

admin.registry.address=zookeeper://127.0.0.1:2181
admin.config-center=zookeeper://127.0.0.1:2181
admin.metadata-report.address=zookeeper://127.0.0.1:2181

nacos (git 官方地址:https://github.com/alibaba/nacos, 中文使用文档:https://nacos.io/zh-cn/ )相关配置:

admin.registry.address=nacos://127.0.0.1:8848
admin.config-center=nacos://127.0.0.1:8848
admin.metadata-report.address=nacos://127.0.0.1:8848

nacos 注册中心 有 GROUP(组) 和 namespace(命名空间) 概念,具体概念可以参照:https://nacos.io/zh-cn/docs/concepts.html

#group
admin.registry.group=dubbo
admin.config-center.group=dubbo
admin.metadata-report.group=dubbo

#namespace used by nacos
admin.registry.namespace=public
admin.config-center.namespace=public
admin.metadata-report.namespace=public

上述的场合,由于现在的节点,admin 不支持 namespace的功能,修复dubbo-admin => 服务查询,查询不到服务的问题.

源码做了如下的修改:

org.apache.dubbo.admin.config.ConfigCenter

package org.apache.dubbo.admin.config;


@Configuration
public class ConfigCenter {

     #namespace 支持======start
    @Value("${admin.registry.namespace:dubbo}")
    private String registryNameSpace;

    @Value("${admin.config-center.namespace:dubbo}")
    private String configCenterGroupNameSpace;

    @Value("${admin.metadata-report.namespace:dubbo}")
    private String metadataGroupNameSpace;
    ##namespace 支持======end


    private URL formUrl(String config, String group, String nameSpace, String username, String password) {
        URL url = URL.valueOf(config);
        if (StringUtils.isNotEmpty(group)) {
            url = url.addParameter(Constants.GROUP_KEY, group);
        }
        #namespace 支持======start
        if (StringUtils.isNotEmpty(nameSpace)){
            url = url.addParameter(Constants.NAMESPACE_KEY, nameSpace);
        }
        #namespace 支持======end
        if (StringUtils.isNotEmpty(username)) {
            url = url.setUsername(username);
        }
        if (StringUtils.isNotEmpty(password)) {
            url = url.setPassword(password);
        }
        return url;
    }
}
org.apache.dubbo.admin.registry.config.impl.NacosConfiguration
ublic class NacosConfiguration implements GovernanceConfiguration {
    private static final Logger logger = LoggerFactory.getLogger(NacosConfiguration.class);

    private ConfigService configService;
    #namespace 支持======start
    private String nameSpace;
    #namespace 支持======end
    private String group;
    private URL url;

    @Override
    public void init() {
        group = url.getParameter(Constants.GROUP_KEY, "DEFAULT_GROUP");
        #namespace 支持======start
        nameSpace = url.getParameter(Constants.NAMESPACE_KEY, "public");
        #namespace 支持======end
        configService = buildConfigService(url);
    }



    private void setServerAddr(URL url, Properties properties) {

        String serverAddr = url.getHost() + // Host
                ":" +
                url.getPort() // Port
                ;
        
        properties.put(SERVER_ADDR, serverAddr);
        #namespace 支持======start
        properties.put(NAMESPACE, nameSpace);
        #namespace 支持======end
    }

具体代码改动地址:
https://github.com/jiang2015/dubbo-admin develop分支

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值