当前位置 主页 > 网站技术 > 代码类 >

    springcloud如何使用dubbo开发rpc服务及调用

    栏目:代码类 时间:2020-01-22 12:09

    这篇文章主要介绍了springcloud如何使用dubbo开发rpc服务及调用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    spring cloud中基于springboot开发的微服务,是基于http的rest接口,也可以开发基于dubbo的rpc接口。

    一,创建goodsService模块

      1, 在创建的goodsService模块中再创建goodsServiceApi和goodsServiceServer模块

      2,在oodsServiceApi模块中定义接口 ,goodsServiceServer用于接口实现

      3,goodsServiceServer模块中pom文件引入相关依赖

    <dependencies>
        <dependency>
          <groupId>net.biui</groupId>
          <artifactId>goods-service-api</artifactId>
          <version>1.0-SNAPSHOT</version>
        </dependency>
        <dependency>
          <groupId>com.alibaba.cloud</groupId>
          <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <dependency>
          <groupId>com.alibaba.cloud</groupId>
          <artifactId>spring-cloud-starter-dubbo</artifactId>
        </dependency>
      </dependencies>

    4,goodsServiceServer中添加配置

    spring:
     application:
      name: goods-service
     cloud:
      nacos:
       discovery:
        server-addr: 127.0.0.1:8848
        namespace: c22e5019-0bee-43b1-b80b-fc0b9d847501
    
    dubbo:
     registry:
      address: nacos://127.0.0.1:8848
     scan:
      base-packages: net.biui.impl
     protocol:
      port: 20881
      name: dubbo

    5,goodsServiceServer编写接口实现

    @org.apache.dubbo.config.annotation.Service
    public class GoodsImpl implements GoodsApi {
      public String getGoodsName() {
        return "商品一";
      }
    }

    6,goodsServiceServer编写启动类

    @SpringBootApplication
    @EnableDiscoveryClient
    public class GoodsServiceServerApplication {
      public static void main(String[] args) {
        SpringApplication.run(GoodsServiceServerApplication.class, args);
      }
    }

    启动后,dubbo服务会自动注册到nacos服务发现中心

    二,创建调用dubbo服务的模块

      1,new -> module -> 填写信息 -> finish

      2,添加pom依赖

    <dependencies>
        <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
          <groupId>com.alibaba.cloud</groupId>
          <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <dependency>
          <groupId>com.alibaba.cloud</groupId>
          <artifactId>spring-cloud-starter-dubbo</artifactId>
        </dependency>
        <dependency>
          <groupId>net.biui</groupId>
          <artifactId>goods-service-api</artifactId>
          <version>1.0-SNAPSHOT</version>
        </dependency>
      </dependencies>

    3,添加配置

    spring:
     application:
      name: demo-dubbo
     cloud:
      nacos:
       discovery:
        server-addr: 127.0.0.1:8848
        namespace: c22e5019-0bee-43b1-b80b-fc0b9d847501