SpringBoot集成Dubbo服务

本文介绍了如何在SpringBoot项目中集成Dubbo服务,包括创建Maven工程定义RPC服务接口,服务提供方的配置与启动,以及服务消费者的相关设置与调用验证,通过Zookeeper进行服务注册与发现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.创建Maven工程定义 Dubbo RPC 服务接口

通常打包成 jar 上传maven仓库,被 Dubbo 服务提供方和消费方依赖。
QQ图片20190709193008.png

注意:实体类需要实现Serializable序列化接口用于网络传输,否则dubbo服务调用失败

2.创建服务提供方(SpringBoot工程)

引入dubbo的pom依赖包和API接口依赖包

  <dependency>
            <groupId>com.alibaba.boot</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
            <version>0.2.0</version>
        </dependency>
         <dependency>
            <groupId>cn.witsky</groupId>
            <artifactId>dubbo-api</artifactId>
            <version>1.0.1</version>
            <optional>true</optional>
        </dependency>

在配置文件 application.properties 中添加 Dubbo 配置信息,如下:

## Dubbo 服务提供者配置
dubbo.application.name=provider
dubbo.registry.protocol=zookeeper
dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.protocol.name=dubbo
dubbo.protocol.port=20880
dubbo.scan.basePackages=com.example.dubbointerface

定义RPC接口实现类


/**
 * @author zhaoliancan
 * @description
 * @create 2019-07-09 16:55
 */
@Service(version = "1.0.0")
@Component
public class GetUserServiceImpl implements getNameService {
    @Override
    public User getUser() {
        User user = new User();
        user.setAge(18);
        user.setName("小龙女");
        return user;
    }
}

提前启动Zookeeper后,启动服务提供者,出现以下日志则说明dubbo服务启动成功并向zookeeper注册。
QQ图片20190709194417.png

QQ图片20190709194605.png

3.创建服务消费者(SpringBoot工程)

需跟服务提供者一样引入dubbo的pom依赖包和API接口依赖包。

在配置文件 application.properties 中添加 Dubbo 配置信息,如下:

### Dubbo 服务消费者配置
dubbo.application.name=consumer
dubbo.registry.protocol=zookeeper
dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.scan.basePackages=com.example.customer.manager

定义一个定时调用 RPC 服务的任务:

/**
 * @author zhaoliancan
 * @description
 * @create 2019-07-09 17:10
 */
@Component
public class GetUser {
    @Reference(version = "1.0.0")
    private getNameService getNameService;

    @Scheduled(fixedDelay = 3000)
    public void getUser() {
        User user=getNameService.getUser();
        System.out.println("连接dubbo服务成功,获取"+"姓名:"+user.getName()+",年龄:"+user.getAge());

    }

}

注:开启Spring定时任务,需要在启动类上添加@EnableScheduling注解,否则定时任务不生效。

启动服务消费者:
QQ图片20190709195823.png

打印以上日志则说明远程RPC服务调用成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值