dubbo 2.7 spring-boot starter 多注册中心写法_Java_黑曼巴-CSDN博客

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

话不多说,直接怼代码

dubbo 2.7.x 的 boot starter写法如下

依赖:

<dubbo.version>2.7.1</dubbo.version>
 
<!-- —————————————————— dubbo-starter BEGIN —————————————————————————— -->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo</artifactId>
    <version>${dubbo.version}</version>
</dependency>
<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-dependencies-zookeeper</artifactId>
    <version>${dubbo.version}</version>
    <type>pom</type>
</dependency>
<!-- —————————————————— dubbo-starter END —————————————————————————— -->

服务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 ----------------------

Original url: Access
Created at: 2020-04-16 15:49:30
Category: default
Tags: none

请先后发表评论
  • 最新评论
  • 总共0条评论