微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Dubbo的使用

文章目录

1 .是什么

dubbo的发展历史请参考官网 dubbo官方文档
dubbo本身就是一个服务治理框架,不需要集成其他插件就可以实现服务注册负载均衡、服务容错、服务监控等功能,适用于数据量小的项目,只需使用一个框架就可以实现上述功能

2. RPC远程通信Demo

1 .建立一个maven工程spring-boot-dubbo-example,创建模块spring-boot-dubbo-provider和spring-boot-dubbo-consumer模块,创建spring-boot-dubbo-api,主要放置接口

在这里插入图片描述

2. api中创建接口

public interface DemoService {
    String sayHello(String name) ;
}
  1. provider 和cosumer加入dubbo和api的依赖
 <dependency>
       <groupId>org.apache.dubbo</groupId>
       <artifactId>dubbo-spring-boot-starter</artifactId>
       <version>2.7.8</version>
 </dependency>
 <dependency>
     <groupId>org.example</groupId>
     <artifactId>spring-boot-dubbo-api</artifactId>
     <version>1.0-SNAPSHOT</version>
</dependency>
  1. provider工程实现DemoService
@dubboService
public class DemoServiceImpl implements DemoService {
    @Value("${dubbo.protocol.port}")
    private String port;
    @Override
    public String sayHello(String name)  {

        System.out.println("port:"+port+" "+name);
        return "hello "+ name;
    }
}
  1. provider工程application.properties中加入配置信息
spring.application.name=dubbo-provider
#关闭注册中心检查
dubbo.registry.check=false
#配置服务注册地址,支持多种注册中心,zookeeper、nacos、redisdubbo.registry.address=zookeeper://192.168.222.128:2181
dubbo.protocol.name=dubbo
##用dubbo协议在20880端口暴露服务
dubbo.protocol.port=20880
#dubbo扫描路径
dubbo.scan.base-packages=com.example.springbootdubboprovider
  1. consumer创建访问层
@RestController
public class DemoController {
    @dubboReference
    DemoService demoService;
    @GetMapping("/demo")
    public String demo(){
        return demoService.sayHello("张三");
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐