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

踩了太多坑,官网中文参考地址: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 ----------------------

 

### 回答1: dubbo-spring-boot-starter是一个基于Spring Boot框架的Dubbo服务框架的启动器。它可以帮助开发者快速集成Dubbo服务框架到Spring Boot应用中,简化了Dubbo服务的配置和使用。通过使用dubbo-spring-boot-starter,开发者可以更加方便地实现Dubbo服务的注册、发现、调用等功能,提高了开发效率和代码质量。 ### 回答2: Dubbo-Spring-Boot-Starter是一款用于在Spring Boot应用中接入Apache Dubbo的开源框架。它可以帮助开发人员快速、方便地实现Dubbo在Spring Boot项目中的集成和使用。 Dubbo是基于Java的高性能、轻量级分布式服务框架,帮助开发者更轻松、更透明地构建分布式服务,同时它也是阿里巴巴开源的一款优秀的分布式框架。然而,Dubbo在使用过程中存在一些繁琐的配置,为开发人员增加了很多工作量和麻烦,而Dubbo-Spring-Boot-Starter则是为了消除这些繁琐的配置和使用难度而产生的。 在使用Dubbo-Spring-Boot-Starter之后,开发人员可以将Dubbo与Spring Boot框架快速整合,并通过简单的配置实现Dubbo的相关功能,比如注册中心、服务提供者和服务消费者等。在使用过程中,Dubbo-Spring-Boot-Starter为开发人员提供了大量的自动化配置和默认值,比如默认的Dubbo协议、负载均衡策略、超时时间等,同时支持自定义扩展自动配置的方式。此外,Dubbo-Spring-Boot-Starter还提供了一些Web端的监控和管理功能,帮助开发人员更方便地进行运维和监控。 总之,Dubbo-Spring-Boot-Starter是对Dubbo和Spring Boot框架的完美结合,它简化了Dubbo在Spring Boot项目中的使用和配置,提高了开发效率,降低了使用成本,是一款值得开发人员尝试的框架。 ### 回答3: Dubbo-spring-boot-starter是Spring Boot与Dubbo框架集成的一个starter,它提供了快速集成Dubbo框架的能力。Dubbo是一款分布式的服务治理框架,支持高性能的异步通信,并提供了负载均衡、服务降级、集群容错等丰富的特性。 Dubbo-spring-boot-starter包含了Dubbo所需的基本配置信息,只需要在Spring Boot项目的配置文件中添加相应的配置即可快速集成Dubbo框架。通过简单的配置,Dubbo-spring-boot-starter能够让Spring Boot项目成为Dubbo服务的提供者或消费者。 Dubbo-spring-boot-starter的使用非常方便,只需要在项目中添加对应的依赖即可开始使用,它提供了多种配置方式,如注解、XML和properties等。同时,Dubbo-spring-boot-starter也提供了丰富的自定义配置选项,可以满足不同场景的需求。 除了Dubbo-spring-boot-starter,还有其他与Dubbo框架集成的starter,如dubbo-spring-cloud-starterdubbo-spring-boot-project。这些starter都提供了方便快捷的Dubbo集成方式,使得Dubbo框架在Spring Boot生态中的应用更加广泛。 总之,Dubbo-spring-boot-starter是一款优秀的starter,可以让Spring Boot项目快速集成Dubbo框架,提供或消费Dubbo服务,为分布式服务治理带来便利。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值