springboot+dubbo基于注解方式实现服务提供者和消费者

一、服务提供者

1、新建maven工程:dubbo_provider 

2、新建子模块api(maven工程): 

3、新建子模块provider,此模块为springboot 工程:

 目录结构为:

api为接口、实体类等服务提供者和消费者都会用到的公共模块。

 4、在provider模块pom.xml增加zookeeper、dubbo的依赖:

        <properties>
               <dubbo.version>3.0.0</dubbo.version>
         </properties>
        <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>

 5、启动类注解@EnableDubbo

 6、配置文件application.properties

server.port=8081

dubbo.application.name=dubbo-annotation-provider
dubbo.registry.address=zookeeper://47.97.112.208:2181
dubbo.protocol.name=dubbo
dubbo.protocol.port=-1
dubbo.registry.timeout=60000

 7、api模块编写接口:

 8、provider模块编写实现类:

 注解DubboService为apache dubbo包中的注解,不再使用spring注解@Service。Dubbo的2.7.7版本中已经标注了Reference和Service注解为@Deprecated弃用了。改用DubboReference和DubboService这两个注解了。

源码地址:dubbo_provider: springboot 集成dubbo的服务提供者,xml配置和注解配置两种实现方式https://gitee.com/yangfeng005/dubbo_provider

二、服务消费者

1、新建springboot web工程dubbo_consumer。

2、pom.xml文件中添加api模块的maven包依赖:

3、增加zookeeper、dubbo的依赖

        <properties>
               <dubbo.version>3.0.0</dubbo.version>
         </properties>
        <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>

4、配置文件application.properties:

server.port=8082

dubbo.application.name=dubbo-annotation-consumer
dubbo.registry.address=zookeeper://47.97.112.208:2181
dubbo.protocol.name=dubbo
dubbo.protocol.port=-1
dubbo.registry.timeout=60000

5、启动类也增加注解@EnableDubbo

 6、新建测试controller

  注解@DubboReference为apache dubbo包中的注解,不再使用spring注解@Autowired。 

7、测试结果

 源码地址:dubbo_consumer: springboot 集成dubbo的服务消费者,xml配置和注解配置两种实现方式https://gitee.com/yangfeng005/dubbo_consumer

参考资料:注解配置 | Apache Dubbohttps://dubbo.apache.org/zh/docs/references/configuration/annotation/

dubbo 注解方法官方实例: 

dubbo-samples/dubbo-samples-annotation at master · apache/dubbo-samples · GitHubsamples for Apache Dubbo. Contribute to apache/dubbo-samples development by creating an account on GitHub.https://github.com/apache/dubbo-samples/tree/master/dubbo-samples-annotation

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Spring Boot是一种用于构建独立且可执行的Spring应用程序的框架,它简化了Spring应用程序的开发过程。Dubbo是一种高性能的开源RPC(远程过程调用)框架,它具有可量化的服务化治理和智能容错能力。通常情况下,DubboZooKeeper配合使用,以实现服务发现和负载均衡功能。然而,如果你想在Spring Boot中使用Dubbo,却不想依赖ZooKeeper,也是可行的。 对于Spring Boot与DubboZooKeeper方式的点对点直连,可以采取以下步骤: 1. 在Spring Boot项目中引入Dubbo的依赖。你可以使用Maven或Gradle构建工具来管理依赖。在`pom.xml`文件(或`build.gradle`文件)中添加Dubbo相关的依赖项。 2. 定义Dubbo服务接口。创建一个接口来定义Dubbo服务的方法和参数。 3. 实现Dubbo服务接口。编写一个实现Dubbo服务接口的类,用于处理具体的业务逻辑。 4. 在Spring Boot应用程序的入口类中,添加`@EnableDubbo`注解。这个注解告诉Spring Boot启动Dubbo服务。 5. 在application.properties(或application.yml)配置文件中,设置Dubbo的相关配置,如Dubbo服务的端口号和协议等。 6. 在Dubbo服务提供者的代码中,添加`@Service`注解来暴露服务。这样,Dubbo服务就可以在Dubbo框架中被发现和调用。 7. 在Dubbo服务消费者的代码中,添加`@Reference`注解来引用Dubbo服务。这样,Dubbo服务消费者就可以直接调用Dubbo服务。 这样,你就可以在Spring Boot中使用Dubbo,并通过无ZooKeeper方式进行点对点直连。注意,这种方式适用于小规模的项目,当项目规模较大时,推荐使用ZooKeeper进行服务发现和负载均衡。 ### 回答2: 使用Spring Boot和Dubbo实现Zookeeper方式的点对点直连需要进行以下步骤: 1. 配置Dubbo服务提供者: 在Spring Boot的配置文件中,配置Dubbo服务提供者相关信息,包括服务接口、实现类、服务端口等。可以使用Dubbo提供的注解标记服务接口,并通过Dubbo的XML配置文件指定服务的实现类和端口。 2. 配置Dubbo服务消费者: 在Spring Boot的配置文件中,配置Dubbo的服务消费者相关信息,包括服务接口、远程调用地址等。可以使用Dubbo提供的注解标记服务接口,并通过配置文件指定服务的调用地址。 3. 设置Dubbo直连方式: 在Dubbo的配置文件中,设置直连方式,即注释掉或删除注册中心相关的配置项。这样Dubbo将不再使用Zookeeper进行服务的发现和注册,而是直接通过指定的远程调用地址进行服务的调用。 4. 启动Dubbo服务提供者消费者: 分别启动Dubbo服务提供者消费者Dubbo服务提供者会监听指定的端口等待服务的调用,Dubbo服务消费者根据配置的远程调用地址来调用相应的服务。 通过以上步骤,就可以在Spring Boot中使用Dubbo实现Zookeeper方式的点对点直连。需要注意的是,直连方式不支持服务的动态注册和发现,因此服务的提供者消费者需要提前确定并配置好。同时,由于不再使用Zookeeper作为中间件,消费者无法获取到服务提供者的信息列表,因此需要手动配置远程调用地址。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值