spring-boot-starter-dubbo icon indicating copy to clipboard operation
spring-boot-starter-dubbo copied to clipboard

如何配置多注册中心

Open chenzhuogit opened this issue 7 years ago • 5 comments

多个服务 注册在不同的注册中心 访问某个服务 如何直接到相应的注册中心 应该怎么配置

chenzhuogit avatar Jun 23 '17 02:06 chenzhuogit

大家有这种需求没 帮忙解决下啊

chenzhuogit avatar Jun 26 '17 02:06 chenzhuogit

@chenzhuogit

# 注册中心 0
spring.dubbo.application.registries[0].address=zookeeper:#127.0.0.1:2181=xxx
# 注册中心 1
spring.dubbo.application.registries[1].address=zookeeper:#127.0.0.1:2181=xxx

我并没有尝试过,资料来自@JeffLi1993的博客 Spring Boot Dubbo applications.properties 配置清单

希望能帮到你🙂

oneone1995 avatar Jul 05 '17 08:07 oneone1995

spring: dubbo: ## Dubbo 服务提供者配置 application: name: "xxxxxxxxx" environment: develop protocol: threadpool: fixed threads: 100 registry: protocol: "zookeeper" address: "112.62.224.113:2181,112.62.224.113:2182,112.62.224.113:2183" protocol: name: dubbo port: 20880

ygypc avatar Aug 11 '17 14:08 ygypc

`/*

  • Copyright 1999-2011 Alibaba Group.
  • Licensed under the Apache License, Version 2.0 (the "License");
  • you may not use this file except in compliance with the License.
  • You may obtain a copy of the License at
  •  http://www.apache.org/licenses/LICENSE-2.0
    
  • Unless required by applicable law or agreed to in writing, software
  • distributed under the License is distributed on an "AS IS" BASIS,
  • WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  • See the License for the specific language governing permissions and
  • limitations under the License. */ package com.alibaba.dubbo.config;

import java.util.ArrayList; import java.util.List;

import com.alibaba.dubbo.common.Constants; import com.alibaba.dubbo.common.compiler.support.AdaptiveCompiler; import com.alibaba.dubbo.common.logger.LoggerFactory; import com.alibaba.dubbo.config.support.Parameter;

/**

  • ApplicationConfig

  • @author william.liangf

  • @export */ public class ApplicationConfig extends AbstractConfig {

    private static final long serialVersionUID = 5508512956753757169L;

    // 应用名称 private String name;

    // 模块版本 private String version;

    // 应用负责人 private String owner;

    // 组织名(BU或部门) private String organization;

    // 分层 private String architecture;

    // 环境,如:dev/test/run private String environment;

    // Java代码编译器 private String compiler;

    // 日志输出方式 private String logger;

    // 注册中心 private List<RegistryConfig> registries;

    // 服务监控 private MonitorConfig monitor;

    // 是否为缺省 private Boolean isDefault;

    public ApplicationConfig() { }

    public ApplicationConfig(String name) { setName(name); }

    @Parameter(key = Constants.APPLICATION_KEY, required = true) public String getName() { return name; }

    public void setName(String name) { checkName("name", name); this.name = name; if (id == null || id.length() == 0) { id = name; } }

    @Parameter(key = "application.version") public String getVersion() { return version; }

    public void setVersion(String version) { this.version = version; }

    public String getOwner() { return owner; }

    public void setOwner(String owner) { checkMultiName("owner", owner); this.owner = owner; }

    public String getOrganization() { return organization; }

    public void setOrganization(String organization) { checkName("organization", organization); this.organization = organization; }

    public String getArchitecture() { return architecture; }

    public void setArchitecture(String architecture) { checkName("architecture", architecture); this.architecture = architecture; }

    public String getEnvironment() { return environment; }

    public void setEnvironment(String environment) { checkName("environment", environment); if(environment != null) { if (! ("develop".equals(environment) || "test".equals(environment) || "product".equals(environment))) { throw new IllegalStateException("Unsupported environment: " + environment + ", only support develop/test/product, default is product."); } } this.environment = environment; }

    public RegistryConfig getRegistry() { return registries == null || registries.size() == 0 ? null : registries.get(0); }

    public void setRegistry(RegistryConfig registry) { List<RegistryConfig> registries = new ArrayList<RegistryConfig>(1); registries.add(registry); this.registries = registries; }

    public List<RegistryConfig> getRegistries() { return registries; }

    @SuppressWarnings({ "unchecked" }) public void setRegistries(List<? extends RegistryConfig> registries) { this.registries = (List<RegistryConfig>)registries; }

    public MonitorConfig getMonitor() { return monitor; }

    public void setMonitor(MonitorConfig monitor) { this.monitor = monitor; }

    public void setMonitor(String monitor) { this.monitor = new MonitorConfig(monitor); }

    public String getCompiler() { return compiler; }

    public void setCompiler(String compiler) { this.compiler = compiler; AdaptiveCompiler.setDefaultCompiler(compiler); }

    public String getLogger() { return logger; }

    public void setLogger(String logger) { this.logger = logger; LoggerFactory.setLoggerAdapter(logger); }

    public Boolean isDefault() { return isDefault; }

    public void setDefault(Boolean isDefault) { this.isDefault = isDefault; }

}` 从源码里看,没毛病

baigod avatar Sep 04 '17 04:09 baigod

根据RegistryConfig注册类可以知道 使用zookeeper注册中心暴露服务地址 spring.dubbo.registry.protocol=zookeeper spring.dubbo.registry.address=127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183

CodeTheft avatar Sep 28 '17 08:09 CodeTheft