Dubbo快速入门-笔记

一、什么是dubbo

dubbo是SOA时期的产物,它的关注点主要在于服务的调用和治理。 (官方推荐注册中心用zk,最主要的优势还是RPC,尽管现在出来很多微服务功能)

二、dubbo的使用

1、引入依赖
  • 父工程引入依赖

         <!-- Dubbo -->
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
                 <artifactId>dubbo-bom</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
     ​
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
                 <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <version>${dubbo.version}</version>
                 <type>pom</type>
             </dependency>

  • 各个子模块引入依赖

       <!-- dubbo -->
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
                 <artifactId>dubbo-spring-boot-starter</artifactId>
                 <version>3.0.9</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
                 <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                 <type>pom</type>
                 <exclusions>
                     <exclusion>
                         <artifactId>slf4j-reload4j</artifactId>
                         <groupId>org.slf4j</groupId>
                     </exclusion>
                 </exclusions>
                 <version>3.0.9</version>
             </dependency>

2、服务提供者
  • 启动类添加注解@EnableDubbo

 @SpringBootApplication
 @EnableDubbo
 public class ProviderApp {
     public static void main(String[] args) {
         SpringApplication.run(ProviderApp.class, args);
         System.out.println("Hello World!");
     }
 }
 ​
  • 服务类添加注解@DubboService

 @DubboService
 public class TestDubboServiceImpl implements TestDubboService {
     @Override
     public String sayHello(String name) {
         return "hello," + name;
     }
 ​
     @Override
     public ZhuoYe getZuoYe() {
         ZhuoYe zuoYe = new ZhuoYe();
         zuoYe.setName("zhuoye-1")
                 .setDescription("帅呆了!!!");
         return zuoYe;
     }
 }
  • 配置文件配置dubbo的信息

 dubbo:
   application:
     name: dubbo-springboot-demo-provider
   protocol:
     name: dubbo
     port: -1
   registry:
     address: zookeeper://192.168.190.129:2181
     timeout: 60000
3、服务的消费者
  • 启动类添加注解@EnableDubbo

 @SpringBootApplication
 @EnableDubbo
 public class ProviderApp {
     public static void main(String[] args) {
         SpringApplication.run(ProviderApp.class, args);
         System.out.println("Hello World!");
     }
 }

  • 接口层通过注解@DubboReference将远程服务注入

 @RestController
 @RequestMapping("dubbo")
 public class TestDubboController {
 ​
     @DubboReference
     private TestDubboService testDubboService;
 ​
     @GetMapping("hello")
     public String hello(String name) {
         return testDubboService.sayHello(name);
     }
 ​
     @GetMapping("getZhuoye")
     public ZhuoYe getZhuoye() {
         return testDubboService.getZuoYe();
     }
 }
  • 配置文件配置dubbo的信息

 dubbo:
   application:
     name: dubbo-springboot-demo-comsumer
   protocol:
     name: dubbo
     port: -1
   registry:
     address: zookeeper://192.168.190.129:2181
     timeout: 60000
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值