dubbo 2.7 spring-boot starter 多注册中心写法

踩了太多坑,官网中文参考地址:http://dubbo.apache.org/zh-cn/index.html

话不多说,直接怼代码

dubbo 2.7.x 的 boot starter写法如下

依赖:

2.7.1



    org.apache.commons
    commons-lang3


    org.apache.dubbo
    dubbo
    ${dubbo.version}


    org.apache.dubbo
    dubbo-dependencies-zookeeper
    ${dubbo.version}
    pom

 

服务privider:

---------------------- provider ----------------------
 provider-yaml:
    dubbo:
    #  registry: # 单注册中心,注意属性级别:dubbo.registry,如果有@Service(registry = {"registry1","registry2","registry3"}),则删除
    #    register: false # true(默认), false:表示服务不注册到注册中心(只订阅,直连服务正常),且dubbo-admin不显示
    #    address: zookeeper://127.0.0.1:2181
      registries: # 多注册中心,注意属性级别:dubbo.registries, 不同的方法可以用@Service(registry = {"registry2"}),指定不同的注册中心
        provider1:
          register: true #默认,false:表示服务不注册到注册中心
          address: zookeeper://a.a.a.a:2181
        provider2:
          address: zookeeper://b.b.b.b:2181
        provider3:
          address: zookeeper://c.c.c.c:2181
      application:
        name: myProvider
    #    qos-enable: true # 默认值 true, 是否允许在线运维, 配置和查询服务
    #    qos-port: 22222 # 默认值2222
    #    qos-accept-foreign-ip: false # 默认false , 不允许远程访问 telnet
      scan:
        base-packages: com.cmb.service.dubbo
      protocol:
        name: dubbo
        port: 28080
      provider:
        retries: 0        # 服务提供者无需重试
        timeout: 6000     # 默认只有1s

 provider-bean:
    bean1注解:
        @Service(group = "project1", version = "1.0.0", registry = {"provider1", "provider3"}
        public class DubboPrintServiceImpl implements DubboPrintService{...}
    bean2注解:
        @Service(group = "project2", version = "2.0.0", registry = {"provider3"})
        public class DubboPrintService2Impl implements DubboPrintService{...}

---------------------- provider ----------------------

消费者 comsumer:

---------------------- consumer ----------------------
 consumer-yaml:
    dubbo:
    #  registry: # 单注册中心,注意属性级别:dubbo.registry
    #    register: false # true(默认), false:表示服务不注册到注册中心(只订阅,直连服务正常),且dubbo-admin不显示
    #    address: zookeeper://127.0.0.1:2181
      registries: # 多注册中心
        consumer1:
          register: true #默认,false:表示服务不注册到注册中心
          address: zookeeper://a.a.a.a:2181
        consumer2:
          address: zookeeper://b.b.b.b:2181
        consumer3:
          address: zookeeper://c.c.c.c:2181
      application:
        name: myConsumer
      scan:
        base-packages: com.cmb.controller
      consumer:
        timeout: 3000
        check: true   # 服务启动时候检查是否可用
        retries: 2    # 服务重试次数
 
 consumer-bean:
    下面的Bean注入后,直接使用
    @Reference(group = "project1", version = "1.0.0", registry = {"consumer1", "consumer3"})
    private DubboPrintService printService1;

    @Reference(group = "project2", version = "2.0.0", registry = {"consumer2"})
    private DubboPrintService printService2;

---------------------- consumer ----------------------

 

你可能感兴趣的:(spring,boot,dubbo)