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,主要放置接口
Dubbo的使用
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、redis等
dubbo.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("张三");
    }
}
上一篇:prometheus sd(service discovery)学习


下一篇:Access 数据库多驱动兼容,目标机器不确定安装的驱动版本